結構是像這樣:PHP CLI包括()未找到文件我的文件
config.php
script
|--myscript.php
myscript.php
<?php
require '../config.php';
?>
當執行php /path/to/myscript.php
我得到Warning: require(../config.php): failed to open stream: No such file or directory.
請告訴我原因?
結構是像這樣:PHP CLI包括()未找到文件我的文件
config.php
script
|--myscript.php
myscript.php
<?php
require '../config.php';
?>
當執行php /path/to/myscript.php
我得到Warning: require(../config.php): failed to open stream: No such file or directory.
請告訴我原因?
那是因爲你當前的工作目錄是一個你打電話給你的命令,而不是一個你的腳本位於。
使用
require __DIR__ . '/../config.php';
代替。 __DIR__
是一個常量,指向當前文件所在的目錄。
很可能你的工作目錄錯誤,所以你的相對路徑並不指向你期望的位置。看看PHP如何看到它:
echo getcwd();
作爲腳本的第一行。
如果你不想(或不能)在你的代碼,改變require
線只是cd
到你的腳本需要運行腳本之前中執行的目錄:
cd /path/to
php /path/to/myscript.php
我這樣做,一種方法是這樣的:
php -d include_path=/path/to/config.php script.php
-d用於在運行時設置INI指令,所以你不要有任何更改代碼/ CONFIGS /目錄。
您需要使用絕對路徑或改變工作目錄:
chdir(dirname(__FILE__));
以絕對路徑試試吧,而不是相對的。 – andrewsi
是的,我現在很失望。 – nick