包含PHP文件在Cron PHP脚本(Ubuntu VPS)中不起作用

时间:2015-02-24 16:54:16

标签: php cron crontab ubuntu-14.04 php-include

我使用的是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中看到它?

4 个答案:

答案 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目录吗?