我能夠在 Web 瀏覽器中訪問 PHP 頁面而不會出錯并且可以正常作業。(錯誤顯示激活)
但是當我想通過 SSH 訪問 PHP 頁面時,出現了一些錯誤。
PHP Warning: include_once(/app/config.php): failed to open stream: No such file or directory in /home/example/public_html/app/cron/cronMin.php on line 7
SSH 命令:
/usr/local/cwp/php71/bin/php -d max_execution_time=18000 -q /home/example/public_html/app/cron/cronMin.php
cronMin.php:
<?php
use Carbon\Carbon;
ini_set('memory_limit', '3G');
ini_set('max_execution_time', 180);
include $_SERVER['DOCUMENT_ROOT'] . '/app/config.php';
...
這是什么原因?
PHP 7.4 - Apache、Nginx 和 Varnish
uj5u.com熱心網友回復:
從$_SERVER 檔案:
此陣列中的條目由 Web 服務器創建。
在命令列上運行 PHP 時,不涉及 Web 服務器,這意味著沒有$_SERVER['DOCUMENT_ROOT'].
如果您的腳本必須與 CLI SAPI 和 Web 服務器 SAPI 運行相同,請不要依賴此類變數。要包含其他 PHP 腳本,請改用__DIR__魔術常量:
// cronMin.php is in the "app/cron" directory, this will be the value of __DIR__ as an absolute path
include __DIR__ . '/../config.php';
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/399443.html
下一篇:如何拆分字串并在php中迭代
