$_SERVER['DOCUMENT_ROOT'] 在通过 cron 运行的 php 脚本中不起作用

2022-08-30 14:41:10

我使用 $_SERVER['DOCUMENT_ROOT']。/lib/sft_required.php“;以在 PHP 脚本中包含“sft_required”文件。当我使用浏览器运行此文件时,它工作正常,但是当我将其作为cron作业运行时,它不起作用。似乎当我们通过cron运行脚本时,该文件未包括在内。


答案 1

您可以自己填充 $_SERVER['DOCUMENT_ROOT']

$_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);

如果 cron 文件位于文档根目录中

$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));

如果 cron 文件是文档根目录上方的一个目录


答案 2

假设您直接通过cron运行脚本(而不是从由cronjob触发的HTTP请求访问的Web服务器(例如,由cron运行wget)访问),那么它当然不起作用。

没有服务器,因此未设置。$_SERVER


推荐