我有一個在 window 上完美運行的 php 專案。
現在我正在 Centos Linux 伺服器上部署專案。
define('INCLUDES_PATH', ROOT_PATH.'cms-includes/');
ini_set('include_path',INCLUDES_PATH.':'.ini_get('include_path'));
所以INCLUDES_PATH
-->C:\xampp\htdocs\cms-includes
我在 Linux 上面臨一個路徑問題。在Linux中我的專案位置是/var/www/web_loan/xampp/htdocs\...cms-includes
現在就存在設定路徑的問題C:\
。我怎麼能在 Linux 中做到這一點,因為C:\
伺服器上沒有位置。
我應該給什麼類型的路徑?
錯誤看起來像這樣
Fatal error in line 15 of file/var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
- require_once(INCLUDES_PATHpear.mysql.php): failed to open stream: No such file or directory
PHP Fatal error: require_once(): Failed opening required 'INCLUDES_PATHpear.mysql.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php on line 15.
第 15 行看起來像init.inc.php
require_once(INCLUDES_PATH . 'pear.mysql.php');
我應該根據Linux定義INCLUDES_PATH嗎defines.inc.php
?
答案1
Unix/Linux 下不存在 等C:
盤符。D:
無論有什麼文件,您都會在/
.注意Unix/Linux下的目錄分隔符號是/
, 而不是\
。
根據您所寫的內容,替換C:\
為/var/www/web_loan
並將所有反斜線 ( \
) 替換為正斜線 ( /
)
答案2
首先,驗證該文件是否存在。在命令提示字元下鍵入:
ls -l /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
這也應該顯示文件的所有權。確保執行 apache 的使用者可以讀取該檔案。通常該使用者是www-data
.如果沒有,請執行以下命令:
chown www-data:www-data /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
嘗試在語句中給出絕對路徑require
:
require_once('/var/www/web_loan/xampp/htdocs/cms-includes/pear.mysql.php');
如果這有效,則可能是常數變數沒有正確定義。
編輯: chown 不是 chmod