2014-09-10 92 views
1

在redhat 6.5環境中運行PHP/Apache。遇到一些PHP安裝問題。 PHP已經安裝並從源代碼編譯,我使用下面的命令來配置它。PHP未加載php.ini

'./configure' '--prefix=/u/g/php' '--with-libxml-dir=/u/g/util/libxml2/' '--with-apxs2=/u/g/apache/bin/apxs' '--with-config-file-path=/u/g/php/config' '--enable-mbstring' 

這個作品我可以運行php和appache。不過,我正在嘗試啓用一些擴展,並且我配置的php.ini文件沒有被讀取。

在php_info()有

Configuration File (php.ini) Path /u/g/php/config 

但是據我瞭解,它應該包含類似的文件,以便/u/g/php/config/php.ini

啓動/停止服務..

任何想法?

+1

應該有另一行在開始時顯示「加載的配置文件」 - 這就是你要做的。我的是,「加載配置文件=> /usr/local/etc/php/5.5/php.ini」 – Tom 2014-09-10 20:43:08

+0

那麼說(無) – user3032973 2014-09-10 21:16:16

+0

PHP正在運行的用戶可以讀取並列出/ u,/ u/g,/ u/g/php,/ u/g/php/config和/u/g/php/config/php.ini?並不是所有的個別dirs都需要爲其用戶,組或任何人設置rx位。另外,如果Redhat,SELinux可能會發揮作用... – Wrikken 2014-09-10 22:29:28

回答

3

大多數服務器都有多個php.ini文件。我最好的猜測是你正在編輯錯誤的。看到的是實際使用哪一個由PHP,運行此:

<?php 
$inipath = php_ini_loaded_file(); 

if ($inipath) { 
    echo 'Loaded php.ini: ' . $inipath; 
} else { 
    echo 'A php.ini file is not loaded'; 
} 
?> 

編輯:如果返回「不裝」,試試這個在SSH:

php --ini 

或者在PHP這樣做:

phpinfo(); 

http://php.net/manual/en/function.php-ini-loaded-file.php

而且,務必在改變php.ini文件後,重新啓動Apache。

+0

php.ini文件未加載.... – user3032973 2014-09-10 21:07:06

+0

我剛剛編輯了我的答案以獲取更多選項。 – Citizen 2014-09-10 21:20:07

+1

所以我刪除了整個php目錄。並重新編譯它。它不知何故奇蹟般地工作。我一定搞砸了PHP目錄.. – user3032973 2014-09-10 21:38:56