由于<! - ?php tag - >导致cron作业错误

时间:2011-12-24 21:12:57

标签: 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我不知道如何

4 个答案:

答案 0 :(得分:7)

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道歉。

答案 1 :(得分:4)

我们使用cron在php facebook游戏中运行夜间任务。我们这样使用卷曲:

/usr/bin/curl http://www.ourdomain.com/page.php

如果我没记错,我们在使用localhost时遇到了一些问题,试图避免外部查找。此外,我们尝试使用php命令行执行,这主要起作用但引起了一些奇怪的错误。

答案 2 :(得分:1)

尝试调用网址(http:// .....)。

显然没有将其解析为PHP脚本。

编辑: 请显示您使用的cronjob,以验证我的预感是否正确。

答案 3 :(得分:0)

使用此设置您的cron并在您的cron设置Cpanel中提供电子邮件地址,以便在cron成功运行时收到电子邮件

wget -O - http://YOURSITE/cron.php