Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Crontab不工作。。。尝试了所有可能的解决方案_Php_Cron - Fatal编程技术网

Php Crontab不工作。。。尝试了所有可能的解决方案

Php Crontab不工作。。。尝试了所有可能的解决方案,php,cron,Php,Cron,我正在尝试从php脚本运行一个我无法运行的自动任务。出于测试目的,我创建了test.php,但仍然没有任何功能 这些是我在流程中执行的行 crontab -e 这打开了nano #.............hint text were here #.............hint text were here * * * * * /usr/local/bin/php -f test.php 然后我重新启动了crontab sudo service cron restart 已确认cron

我正在尝试从php脚本运行一个我无法运行的自动任务。出于测试目的,我创建了test.php,但仍然没有任何功能

这些是我在流程中执行的行

crontab -e
这打开了nano

#.............hint text were here
#.............hint text were here
* * * * * /usr/local/bin/php -f test.php
然后我重新启动了crontab

sudo service cron restart
已确认cron正在使用

pgrep cron
并且得到了结果。也

/usr/local/bin/php test.php
也给了我
Hello World
在终端

Test.php

!#/usr/local/bin/php
<?php

echo "Hello World";

?>
也尝试设置权限

chmod +x test.php
chmod 755 test.php
chmod 600 test.php

正在寻找支持以实现这一目标。谢谢。

尝试执行以下操作

*/1 * * * * [username] /usr/local/bin/php -f test.php

e.g. */1 * * * * root /usr/local/bin/php -f test.php

尝试执行以下操作

*/1 * * * * [username] /usr/local/bin/php -f test.php

e.g. */1 * * * * root /usr/local/bin/php -f test.php

很可能您的crontab正在工作,但您只是看不到输出,因为默认情况下,cron将
标准
错误
输出给cron作业的所有者。因此,您可以将它们重定向到一个文件并手动签出。
您可以通过编辑crontab条目来实现这一点,使其如下所示:

* * * * * /usr/local/bin/php -f test.php > /tmp/log.log 2>&1
然后在一分钟内,你可以检查它,以确保你的工作是真正的工作。 我希望这有帮助

编辑


正如在问题的评论中所发现的那样,实际上有一个错误
/bin/sh:1:usr/local/bin/php:not found
记录在
log.log
文件中,该文件是通过使用
php

修复的,很可能您的crontab正在工作,但您只是看不到输出,因为默认情况下,cron是
标准的
error
输出到cron作业的所有者。因此,您可以将它们重定向到一个文件并手动签出。 您可以通过编辑crontab条目来实现这一点,使其如下所示:

* * * * * /usr/local/bin/php -f test.php > /tmp/log.log 2>&1
然后在一分钟内,你可以检查它,以确保你的工作是真正的工作。 我希望这有帮助

编辑



正如在问题的评论中所发现的那样,实际上有一个错误
/bin/sh:1:usr/local/bin/php:not found
记录在
log.log
文件中,该文件是通过使用
php

修复的,那么为什么您认为cron不能工作呢?尝试将输出重定向到一个文件,查看是否有
Hello World
条目。编辑cron,使其看起来像这样
***/usr/local/bin/php-f test.php>/tmp/log.log 2>&1
,一分钟后检查/tmp/log.log文件。/bin/sh:1:usr/local/bin/php:not found,但my where php显示usr/local/bin/phpGot它。谢谢使用简单的php并开始获取输出。您可以将其作为一个答案发布。那么,为什么您认为cron不起作用?尝试将输出重定向到一个文件,查看是否有
Hello World
条目。编辑cron,使其看起来像这样
***/usr/local/bin/php-f test.php>/tmp/log.log 2>&1
,一分钟后检查/tmp/log.log文件。/bin/sh:1:usr/local/bin/php:not found,但my where php显示usr/local/bin/phpGot它。谢谢只使用php并开始获取输出。请您将其作为答案发布。/bin/sh:1:ubuntu:not found/bin/sh:1:ubuntu:not found*14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1每天下午2点我需要生成一个csv文件。这个命令正确吗?不,这将在14小时内每分钟运行一次。您需要指定0而不是第一个星号,以便cron在14:000运行14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1是否正确*14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1每天下午2点我需要生成一个csv文件。这个命令正确吗?不,这将在14小时内每分钟运行一次。您需要指定0而不是第一个星号,以便cron在14:00014***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1正确吗