2014-01-09 42 views
0

我有我的Windows電腦上2個版本的Joomla 2個安裝PHP的。凡require_once真的找?

PHP的警告:未捕獲的異常 'ErrorException' 有消息 「require_once(緩存/ Lite.php):

我在執行應用程序時出現此錯誤未能打開流:沒有這樣的文件或 \ XAMPP \應用\的Joomla \ htdocs中\庫\的Joomla \緩存\存儲\ cachelite.php:在 C目錄」 79

該生產線是

require_once 'Cache/Lite.php';

那麼有這個文件稱爲Lite.php在:

C:\ XAMPP \ PHP \梨\緩存\ Lite.php

我已經安裝了第二個PHP版本,這可能會干擾。儘管如此,我刪除的第二個PHP版本的路徑條目。我的文件夾複製到第二個PHP安裝,我添加了其他PHP版本的路徑。沒有幫助。

我怎樣才能找出require_once ''實際上是在尋找?

或者你會如何解決這個問題?

+3

'var_dump(get_include_path())' –

+0

我得到一個不完整的路徑列表。它說這樣的: string(722)「phar:// C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/phpunit/php-text-template; phar:// C:/ ProgramData/ComposerSetup /箱/ composer.phar /供應商/ PHPUnit的/ PHPUnit的-模擬對象;藥業:// C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/phpunit/php-timer;藥業:// C:/ ProgramData/「... ... 切斷半路 – Toskan

回答

2

更多信息,您可以看到由包括路徑:

<?php 
echo get_include_path(); 
?> 

如果你需要改變這一點,那麼你將需要修改php.ini文件或使用set_include_path()

記住包括您當前的include_path,設置一個新的時:

<?php 
$new_path = '/usr/lib/pear'; 
set_include_path(get_include_path() . PATH_SEPARATOR . $new_path); 
?> 
0

http://www.php.net/manual/en/function.include.php

根據給定的文件路徑包含文件,或者,如果沒有給出,則指定include_path爲 。如果文件在 include_path中找不到,include將最終在失敗之前檢入調用腳本自己的 目錄和當前工作目錄。包含構造的 如果找不到文件將發出警告;這個 與require的行爲不同,它會發出致命錯誤。

如果路徑定義 - 無論是絕對的(從驅動器盤符 或\ Windows上,或/在Unix/Linux系統),或相對於 當前目錄(開始或...) - include_path中將完全忽略 。例如,如果文件名以../開頭,則解析器將在父目錄中查找以查找所請求的文件。