当我使用以下代码时:
<?
print_r($_SERVER);
?>
Run Code Online (Sandbox Code Playgroud)
关闭所有服务器变量的列表很好.但是,当我在脚本中输入相同的代码时,Cron选项卡会调用该代码,但未列出许多变量.此外,Document_root变量没有值.
我搬到不同的服务器后才遇到这个问题.我是否需要调整一些服务器设置以避免这种情况?
最好不要依赖这个变量,因为它并不总是被设置(就像你发现的那样).
尝试设置和使用这样的常量:
define('PUBLIC_PATH', '/var/www/path/to/public');
// OR something like:
define('PUBLIC_PATH', dirname(__DIR__) . '/public');
Run Code Online (Sandbox Code Playgroud)
现在使用PUBLIC_PATH而不是$_SERVER['DOCUMENT_ROOT']