【发布时间】:2015-05-09 12:47:20
【问题描述】:
我在具有多个域的 Centos6 vps 服务器上运行 Virtualmin。我正在尝试将电子邮件发送到转发到 php 脚本的电子邮件别名。
电子邮件无法送达并返回以下消息...
Command died with status 1: "php
/home/mydomain/public_html/mail_pipe.php". Command output: Could not
open input file: /home/mydomain/public_html/mail_pipe.php
我将路径定义为
php /home/mydomain/public_html/mail_pipe.php
我已将文件权限设置为 0777+x
在mail_pipe.php 里面我有一个我以前用过的邮件解析脚本。由于这不起作用,所以现在我只是在尝试做一些事情,以便查看文件是否被访问,因为错误消息表明它无法打开文件。
#!/usr/bin/php -q
<?php
$myFile = "steve.txt";
$fh = fopen($myFile, 'a');
$stringData = "File was opened \n";
fwrite($fh, $stringData);
fclose($fh);
?>
我很确定它实际上是在尝试打开正确的文件,因为当目标文件不存在时,我会收到文件未找到错误。
我上次这样做时得到了帮助。他完成了所有服务器端的设置,而我处理了 php 脚本。所以我在这里有点不合时宜。
【问题讨论】:
-
你不需要在前面加上“php”,因为程序会有一个可以读取shebang并进行适当操作的shell。即使没有它,我也能够重现该问题,并将追踪正在发生的事情。我认为它实际上应该按原样工作。 (而且您不需要 777。它只需要可执行。脚本将以所有者身份运行。但是,我怀疑我们的代码中有一个错误,它会降低权限。我正在和 Jamie 谈论它。)
-
我在这里开了一张票:virtualmin.com/node/36469
-
无论您的问题是什么,chmod 0777 都是错误且危险的。您应该取消此更改并将权限重置为理智的东西。目前,任何有权访问该框的人都可以更改您的脚本以做任何他们喜欢的事情。 (即使你认为你是一个人在盒子上,如果你不是,你也不应该感到惊讶,尤其是在缺乏对基本安全性的关注的情况下。)
标签: php postfix-mta webmin