sendmail
正在使用浏览器,但是当我从命令行执行/usr/bin/php cron.php
时
然后它说
sh: /sendmail: no such file or directory...
我甚至运行了which
命令,它向我显示sendmail
位于/usr/sbin/sendmail
中,sendmail_path
中的php.ini
也是正确的。
为什么从命令行检查根目录中的sendmail
?
补充:我们可以在根目录中将sendmail
别名(快捷方式)添加到sbin
目录吗?
编辑:我遇到sendmail的原因是因为标准邮件库不符合我的返回路径。
答案 0 :(得分:1)
which
命令的工作方式是检查变量PATH
指向的目录中的给定可执行文件。变量PATH
可以通过使用export PATH=SOMETHING
之类的简单命令更改为任何所需的值,以及何时希望它指向不同的事物。所以我想如果你的which
命令在从命令行运行时指向/usr/sbin/sendmail
并且cron.php
仍然没有从那里获取它,那么你的cron.php
可能会改变PATH
某处的值或编码出错并且您的代码使用绝对路径调用sendmail
。
首先,确保上述内容合适。如果他们是,并且问题仍然存在,正如您所猜测的那样,您可以create a soft link并/sendmail
指向/usr/sbin/sendmail