在crontab中运行php脚本

在crontab中运行php脚本,php,crontab,Php,Crontab,我尝试每天在UTC 01:00运行一个php脚本。我有电话 00 01***/usr/bin/php-f/var/www/html/test.php 在我的crontab中,但出于某种原因,它没有运行我的脚本。我知道脚本本身是有效的,因为我已经测试过了。它不会在crontab中运行。我也试过使用 00 01 * * * php /var/www/html/test.php 但这也不起作用。我又加了一句/usr/bin/php到我试图运行的php脚本的最开始。我也尝试了a-q而不是-f。什么

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

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

但这也不起作用。我又加了一句/usr/bin/php到我试图运行的php脚本的最开始。我也尝试了a-q而不是-f。什么都没用,我不确定我能做些什么来解决这个问题。如果这仍然不起作用,我是否应该尝试其他方法?

确保您的路径正确。请尝试以下语法:

cd /var/www/html; php -q -c ./ test.php
-q标志禁止将任何头写入标准输出。这将强制使用php cgi二进制文件而不是命令行版本执行脚本


-c标志防止操作系统更改目录,因为您可以使用cd来更改目录。

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

导出ORACLE_HOME=/opt/ORACLE/product/11.2.0/client 导出LD_LIBRARY_PATH=/opt/oracle/product/11.2.0/client/lib/ 导出路径=$PATH:/opt/oracle/product/11.2.0/client/bin php/var/www/html/test.php具有本地 正在运行web服务器,您可以调用

http://localhost/test.php

从您的crontab

test.php属于哪个所有者和组?您是否尝试过从命令行运行它?另外,您是否指定了PHP的正确路径?它是由root用户创建的文件。我还尝试在命令行上使用chmod+x test.php更改权限,我运行了php/var/www/html/test.php命令,脚本完全按照我的要求执行。它应该是php的正确路径。当我使用Where is php时,我得到了php:/usr/bin/php/etc/php.ini/etc/php.d/usr/include/php/usr/share/man/man1/php.1.gz您是否尝试过使用lynx启动脚本?它看起来可以通过URL访问。00 01***猞猁-这是给crontab的吗?是的@fcr91您可以使用分号同时执行两个命令。