Crontab 无法执行 PHP 脚本。错误的解释器:没有这样的文件或目录

Posted

技术标签:

【中文标题】Crontab 无法执行 PHP 脚本。错误的解释器:没有这样的文件或目录【英文标题】:Crontab unable to execute PHP script. bad interpreter: No such file or directory 【发布时间】:2017-11-20 04:30:34 【问题描述】:

尝试使用 Crontab 定期执行命令。但是 crontab 一直报错:

/bin/sh: /var/www/html/Scripts/lib/Tasks.php: /usr/bin/php^M: 不好 解释器:没有这样的文件或目录

Tasks.php:

#!/usr/bin/php
<?php
//scripts
?>

我觉得我的 Shebang 搞砸了。主 php 文件似乎存在于 /usr/bin/php 中,但我不断收到错误消息。我一直在尝试其他帖子中的其他 shebang,但其中大多数都没有使用 Centos6 php5 和 apache 的组合。我只需要每隔几分钟执行一次这个 php 脚本。

【问题讨论】:

Are shell scripts sensitive to encoding and line endings?的可能重复 【参考方案1】:

根据我的理解,在 php 文件中 shebang 运算符将不起作用。

你可以重写 crontab 如下:

* * * * * /usr/bin/php /var/www/html/Scripts/lib/Tasks.php

您可以根据需要更改 crontab 频率。另请使用以下命令验证 php 是否在正确的位置:

which php

谢谢。

【讨论】:

这解决了这个问题但是 parse_ini_file(/Config/Config.ini): failed to open stream: No such file or directory in. 请在 parse_ini_file 函数中提供从根文件夹或与编写此代码的文件相关的文件夹的绝对路径 我已经解决了,我在那里为其他遇到问题的人发帖。非常感谢 Ramdas。

以上是关于Crontab 无法执行 PHP 脚本。错误的解释器:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

Crontab 不会从 PHP 脚本中保存图像

为啥 crontab 不执行我的 PHP 脚本?

crontab添加了定时任务却无法执行

crontab,无法执行所有脚本

如何使用Linux的Crontab定时执行PHP脚本的方法

如何使用Linux的Crontab定时执行PHP脚本的方法