我花了好几天仍然无法弄清楚这一点。
我在public_html下有以下文件结构:
cron_jobs/file.php contains - > include('../base/basefile.php')
base/basefile.php contains - > include('baseSubFile.php')
当我跑
时 /pathtophp/php -f ~/public_html/cron_jobs/file.php
它工作正常但是当我在cpanel中将相同的命令复制到cron时,我收到错误说
'basesubfile.php' can't be found
请帮忙。
答案 0 :(得分:2)
Cron不会从您的php文件所在的目录运行,所以您需要先更改它:
cd /home/user/public_html/cron_jobs/ && /pathtophp/php -f file.php
我建议在处理cron脚本时使用完整路径与~
以避免混淆
答案 1 :(得分:1)
您应该使用
include dirname( __FILE__ ) . '/../base/basefile.php';
和
include dirname( __FILE__ ) . '/baseSubFile.php';
The function dirname返回父目录的路径
答案 2 :(得分:0)
只需将它放在PHP脚本的顶部:
chdir(dirname(__FILE__));