在crontab中运行php脚本

时间:2014-10-10 20:33:39

标签: php crontab

我正在尝试每天01:00 UTC运行一个php脚本。我有线路 00 01 * * * /usr/bin/php -f /var/www/html/test.php
在我的crontab中,但由于某种原因,它没有运行我的脚本。我知道脚本本身是有效的,因为我已经测试过了。它只是不会在crontab中运行。我也尝试过使用

00 01 * * * php /var/www/html/test.php  

但这也不起作用。我已经在我尝试运行的php脚本的最开头添加了#!/usr/bin/php。我也尝试过-q而不是-f。没有什么工作,我不知道我能做些什么来解决这个问题。如果这仍然不起作用,我还应该尝试其他方法吗?

3 个答案:

答案 0 :(得分:0)

确保您的路径正确无误。试试这个语法:

cd /var/www/html; php -q -c ./ test.php

-q标志禁止将任何header()写入标准输出。这会强制您的脚本使用php-cgi二进制文件而不是命令行版本执行。

-c标志阻止操作系统更改目录,因为您使用cd执行此操作。

答案 1 :(得分:0)

我最终做的是编写一个导出更多路径的ksh脚本,然后运行php脚本。这很有用。

export ORACLE_HOME=/opt/oracle/product/11.2.0/client export LD_LIBRARY_PATH=/opt/oracle/product/11.2.0/client/lib/ export PATH=$PATH:/opt/oracle/product/11.2.0/client/bin php /var/www/html/test.php

答案 2 :(得分:0)

有一个本地人  运行Web服务器,您可以调用

http://localhost/test.php

来自你的crontab