sendmail
正在浏览器中运行,但是当我从命令行执行 /usr/bin/php cron.php
时
然后它说
sh: /sendmail: no such file or directory...
我什至运行了 which
命令,它告诉我 sendmail
在 /usr/sbin/sendmail
中,而且
是正确的。php.ini
中的 sendmail_path
为什么它从命令行检查根目录中的 sendmail
?
补充:我们可以在sbin
目录的根目录下添加一个sendmail
别名(快捷方式)吗?
编辑: 我坚持使用 sendmail 的原因是标准邮件库不支持我的返回路径。
最佳答案
which
命令的工作方式是检查变量 PATH
指向的目录中的给定可执行文件。变量 PATH
可以通过使用简单的命令更改为任何所需的值,例如 export PATH=SOMETHING
当您希望它指向不同的东西时。所以我想如果你的 which
命令指向 /usr/sbin/sendmail
从命令行运行时仍然 cron.php
没有选择它从那里开始,然后你的 cron.php
可能在某处更改 PATH
的值或者编码出错并且你的代码正在调用 sendmail
使用绝对路径。
首先,确保上面提到的事情是正确的。如果是,并且问题仍然存在,如您所料,您可以 create a soft link并使 /sendmail
指向 /usr/sbin/sendmail
关于php - sh :/sendmail: no such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11862218/