PHP shell 脚本的问题:“无法打开输入文件”
好的,我正在尝试创建一个使用PHP shell脚本的电子邮件记录器。我已经设置了CPanel来管道电子邮件到我的脚本。我相信这一切都配置正确。但是,我在脚本方面遇到了问题,从shell运行它时,任何脚本都与此有关。
这是一个例子。
#!/usr/local/bin/php –q
<?php
/* Read the message from STDIN */
$fd = fopen("php://stdin", "r");
$email = ""; // This will be the variable holding the data.
while (!feof($fd)) {
$email .= fread($fd, 1024);
}
fclose($fd);
/* Saves the data into a file */
$fdw = fopen("mail.txt", "w+");
fwrite($fdw, $email);
fclose($fdw);
/* Script End */
?>
真的很简单,对吧?从 STDIN 读取并写入文件...我认为有些地方不对劲,由于某种原因无法阅读STDIN。托管服务提供商允许它,allow_url_open和allow_url_include都处于打开状态。
通过SSH执行脚本时,我收到以下错误:无法打开输入文件:âq
所以我再一次以为这是剧本告诉我的,那就是无法从STDIN中读出。
所以我只尝试了一个简单的脚本。
#!/usr/local/bin/php –q
<?php
echo 'Hello World';
?>
同样: 无法打开输入文件: âq
所以看起来PHP程序告诉我它无法打开脚本?该脚本位于$HOME/mail/forward(CHMOD 755)中,脚本本身是CHMOD 755,以及文件mail.txt是CHMOD 755,我对此感到非常困惑。