我使用的是Ubuntu 14.04 X64。
我正在用crontab -e
:设置一个基本的Cron作业
* * * * * /usr/bin/php /var/www/html/test/test.php >> /var/www/cron/cron.log
这是/var/www/html/test/test.php:
<?php
include "../test2.php";
?>
和/var/www/html/test2.php:
<?php
echo "hello world";
?>
然而,什么也没有得到回应。但当我访问[domain]/test/test.php时,我确实看到了"你好世界"的回声。为什么我没有在/var/www/cron/cron.log
中看到它?
PHP和cronjobs可能会一团糟,尤其是在包含其他文件时。在您的crontab中尝试以下操作:
* * * * * cd /var/www/html/test; /usr/bin/php test.php >> /var/www/cron/cron.log
尝试在php include中包含完整路径,并使其成为required而不是include:
<?php
require_once("/var/www/html/test2.php");
?>
您还可以设置包含路径:http://php.net/manual/en/function.set-include-path.php
为什么不在include中使用绝对路径?
<?php
include __DIR__ . '/../test2.php';
?>
您在cron 中写入了错误的目录
/usr/bin/php /var/www/**html**/test/test.php
测试中.php
/var/www/test/test.php
在www目录下有html目录吗?