2013-02-24 76 views
2

我剛剛在Windows機器上設置了虛擬主機(使用xampp)併爲我的默認站點創建了一個條目,如下所示。找不到php.ini include_path

<VirtualHost *:80> 
DocumentRoot "D:/path/to/my/website" 
ServerName localhost 

<Directory "D:/path/to/my/Website"> 
    Options Indexes FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
</VirtualHost> 

我然後註釋掉包含路徑在C:\ XAMP \ PHP \ php.ini中,所以我可以運行多個網站每個都有自己的include_path

我有沒有在定義的路徑.htaccess文件本地主機根目錄。我有一個php.ini文件,路徑定義如下:include_path =「。; D:\ path \ to \ my \ website \ php」 但是當我運行phpinfo時,我得到默認的include_path =。; C: \ php \梨

任何想法爲什麼PHP沒有看到我的php.ini?我已經檢查過無處不在的.htaccess文件或php.ini文件,但這是服務器的根目錄,唯一的文件是我提到的文件。

+1

檢查phpinfo()輸出,看看你的PHP讀取什麼php.ini文件。這是你可以在你的Apache下使用的文件(也是唯一的)。在每個子站點的靴子中修改包含路徑。 (php_ini_set) – 2013-02-24 23:07:48

+0

加載的配置文件= C:\ xampp \ php \ php.ini和配置文件(php.ini)Path = C:\ Windows(但是這裏沒有php.ini) – mseifert 2013-02-24 23:12:55

+0

我想我會強制這個問題,從\ xampp \ php中刪除php.ini,認爲你只能有一個php.ini文件,這會迫使它讀取localhost中的一個文件,而我卻得到Loaded Configuration File(none)。也許有一個設置可以找到php.ini文件的位置(例如c:\ windows的配置文件路徑)?我現在正在使用set_include_path(),但希望得到這個工作。 – mseifert 2013-02-24 23:38:14

回答

0

在編譯時(PHP的)的php.ini,對於apache模塊,設置爲
放回擦除php.ini文件(現在,mod-php使用默認值)。

對於多個虛擬主機,可以在htaccess或特定的vhost配置文件中使用(檢查是否可能)apache配置,或者使用PHP的php ini set函數。

這兩個都是很好的做法,除非你真的真的需要你的系統中的每一個汁液,在這種情況下,PHP不是你應該選擇的技術。

+0

我嘗試過使用set_include_path(),但這有太多的反響。我目前在.htaccess中使用php_value include_path指令,這似乎是使用php.ini文件的直接交換,因爲它對整個站點是全局的。我想知道如何重新配置​​Apache,我會研究它。但是,虛擬主機配置聽起來很有希望。我也會研究它是否有其他設置。 – mseifert 2013-02-25 04:09:41