【发布时间】:2011-05-10 23:31:36
【问题描述】:
大师,
我为我的客户编写了一个 PHP 脚本,该脚本对他创建的文本文件执行一些广泛的数据处理。
代码已完成,我现在必须自动化脚本。问题是它似乎只手动运行。我不会作为 CRON 作业运行。
这是我在脚本标题中使用“#!/usr/bin/php -q”所尝试的:
00 1 * * * /usr/bin/php -q /HDDLogs/HDDProcess.php >>/HDDLogs/HDDProcess.log 2>&1
日志文件已创建但为空。我尝试删除安静模式的 -q:没有区别。仍然没有作为 CRON 作业运行。 PHP 文件是 chmod-ed 755。
Apache 2.0 和 PHP 5.3 安装在此服务器上。我完全拥有我的代码目录和数据文件。
如果您想知道,我的脚本从不调用 URL。
有什么想法吗??
谢谢,
阿尔。
【问题讨论】:
-
@user484638 - 删除日志文件,看看它是否已经重新创建?如果是这样,这意味着你的 PHP 还没有完成
ps auwx | grep HDDProcess.php检查是否仍在运行 -
我尝试了你的建议。不会重新创建日志文件。
-
@Paulo:正确。文件 HDDProcess.log 为空。我收到的 CRON 邮件的正文为空(?)。没有消息。它是一个用户 crontab,我在其中运行十几个 bash 脚本没有问题。
-
你有任何带有相对路径的“include('foo')”吗?如果是这样,您可以尝试编写一个 shell 脚本,首先将 CD 写入脚本目录,然后调用您的 PHP 脚本。
-
@Paulo:((打自己))你是对的!我确实有两个包含相对路径的内容。我创建了一个 shell 脚本包装器,它在调用脚本之前导航到该目录。 Obrigado muito!