PHP Cron Job没有提供正确的目录路径

时间:2018-12-10 20:28:53

标签: php cron

我的public_html目录中有一个PHP模块(例如mycronjob.php)

如果我从浏览器中执行 mycronjob.php ,它将按预期运行。

  

例如,命令getcwd()给出/ home / myaccount / public_html   所有的fopen命令都会打开public_html中的文件。

但是,如果我执行与cron作业完全相同的模块,则命令 getcwd()给出/ home / myaccount 并且所有fopen命令都打开myaccount中的文件,而不是public_html

Cron工作是: /usr/local/bin/php -e /home/myaccount/public_html/mycronjob.php

有人知道为什么cron作业 getcwd() fopen() 命令不会解析为public_html吗? 我的房东似乎在努力寻找原因。

典型的 fopen()命令为:

$myfile='mydata.htm';
if(($myfile = fopen($myfile,'w')) === FALSE){
echo "Failed to open myfile file for writing!" . "<br />\n";
exit(8);
}

1 个答案:

答案 0 :(得分:2)

这是因为执行cron的位置。这很正常,您可以使用 FILE 常量来修复它。

$file = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mydata.htm';