2014-09-10 48 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