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

Ilj*_*lja 3 php cron-task

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

/root/website/myworld/blabla/cronj.php: line 1: ?php: No such file or directory
Run Code Online (Sandbox Code Playgroud)

该文件中的第1行只是一个<?php我不知道如何的PHP标记

Ama*_*dan 7

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

0     3     *     *     *         /mypath/myscript.php ...
Run Code Online (Sandbox Code Playgroud)

试试这个:

0     3     *     *     *         /usr/bin/env php /mypath/myscript.php ...
Run Code Online (Sandbox Code Playgroud)

或使用@Ravenex的伎俩.

编辑我正确地告诫我假设PHP以一致的方式运行.显然,shebang 确实在PHP 工作.我向@ chess007道歉.