php - 由于 <?php 标记导致 cron 作业出错

标签 php cron-task

我已经设置了一个要运行的 cron 作业。它执行一个名为 cronj.php 的 php 文件 但它不起作用,我收到的 cron 作业通知是:

/root/website/myworld/blabla/cronj.php: line 1: ?php: No such file or directory

该文件中的第 1 行只是一个 php 标记 <?php我不知道怎么办

最佳答案

Cron 正在执行该文件,就好像它是一个 shell 脚本一样。通常你会在文件的顶部放入一个 shebang 行(比如 #!/usr/bin/env php),这样 shell 就知道如何调用它,但是 PHP 不喜欢它- 因为它输出标签之外的所有内容。因此,而不是这个:

0     3     *     *     *         /mypath/myscript.php ...

试试这个:

0     3     *     *     *         /usr/bin/env php /mypath/myscript.php ...

或使用@Ravenex 的技巧。

编辑 我因假设 PHP 以一致的方式运行而受到正确的警告。显然,shebang 确实在 PHP 中工作。我向@chess007 致歉。

关于php - 由于 <?php 标记导致 cron 作业出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626907/

相关文章:

php - Cron 作业到位置

php - PHP-如何使用Regex转换YouTube URL

php - 在 web 服务器内置的 php 中运行 symfony 2 项目

php - 分页在 CodeIgniter 中不起作用?

php - 用新的 INT 更新 mySQL INT

linux - 保留环境变量的 cron 的替代方案

针对数值参数注入(inject)的 PHP 转换

linux - 是否有任何包含 Cronjob 列表的文件?

Python 脚本未在调用 pysaunter 的 crontab 中运行

仅当脚本在办公室的 cronjob 上运行时,Python 才请求/urllib3 NewConnectionError