php - sh :/sendmail: no such file or directory

标签 php linux sendmail

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/

相关文章:

javascript - 单击链接时,函数值应存储在文本框中

javascript - 未捕获的类型错误 : string is not a function

linux - 如何将 Windows 上的 redis-cli 连接到 Linux 上的 redis(在 VMware 上)

email - FFMPEG:在 ffmpeg 完成后发送带有输出的电子邮件

email - laravel 5.4 中的邮件发送问题

java - 通过 javax.mail API 发送电子邮件。消息的某些 html 属性被忽略

php - 在php中比较日期与mongoDB ISODate格式

php - 如何获取 php 键作为 php 数组中的值

linux - 是否可以为 Linux 终端即时生成字形?

检查我在linux中使用的串口