我使用的是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时,我确实看到了#34; hello world&#34;被回应。为什么我没有在/var/www/cron/cron.log
中看到它?
答案 0 :(得分:1)
PHP和cronjobs可能会很乱 - 尤其是在包含其他文件时。在crontab中尝试以下内容:
* * * * * cd /var/www/html/test; /usr/bin/php test.php >> /var/www/cron/cron.log
答案 1 :(得分:1)
尝试在php include中包含完整路径,并使其成为require而不是include:
<?php
require_once("/var/www/html/test2.php");
?>
您还可以设置包含路径: http://php.net/manual/en/function.set-include-path.php
答案 2 :(得分:1)
为什么不在包含中使用绝对路径?
<?php
include __DIR__ . '/../test2.php';
?>
答案 3 :(得分:0)
你在cron写了一个错误的目录
/usr/bin/php /var/www/**html**/test/test.php
在test.php中
/var/www/test/test.php
www目录中的有一个html目录吗?