PHP не загружает php.ini

У меня есть эта странная и глупая проблема, которую я пытаюсь решить уже пару часов. Я установил Apache 2.2.10 (он был скомпилирован из исходного кода) и PHP-5.3.6. Оба работают просто замечательно, за исключением того факта, что я не могу заставить PHP загрузить файл php.ini.

Это мой файл config.nice:

'./configure' \
'--prefix=/usr/local/php-5.3.6' \
'--with-config-file-path=/usr/local/php-5.3.6/lib' \
'--with-apxs2=/usr/local/apache-2.2.10/bin/apxs' \
'--with-curl' \
'--with-mysql' \
'--with-zlib' \
'--with-bz2' \
'--with-gd' \
'--with-jpeg-dir' \
'--with-png-dir' \
'--enable-mbstring' \
'--with-freetype-dir' \
'--with-t1lib' \
'--enable-gd-native-ttf' \
'--enable-gd-jis-conv' \
'--with-openssl' \
'--with-openssl-dir' \
'--enable-pcntl' \
"$@"

Я использовал этот config.nice для всех версий PHP, начиная с 5.2, с небольшими изменениями, и он работает таким образом на нескольких серверах. Это, наверное, что-то маленькое, что мне не хватает, и я не могу понять, что это такое.

Я установил '--with-config-file-path', потому что я, хотя php не могу найти свой собственный путь или что-то в этом роде. По указанному пути у меня есть файл php.ini, который скопирован из архива PHP 5.3.6 (php.ini-development).

Файл должен работать так же, как и оригинал, но я не вижу, потому что он не загружается - phpinfo() возвращает:

Configuration File (php.ini) Path:  
/usr/local/php-5.3.6/lib
Loaded Configuration File:  
(none) 

У кого-нибудь есть идея, в чем может быть проблема?

Соответствующая информация:
@Server OS: Slackware 12.2
@Apache версия: 2.2.10
@Apache Пользователь / Группа: daemon / daemon
@PHP версия: 5.3.6 (последняя версия)
@PHP ini-файл: /usr/local/php-5.3.6/lib/php.ini
@PHP ini file perms: 777 (daemon.daemon)

2 ответа

Решение

Я предполагаю, что файл на самом деле не существует или есть проблема с разрешениями. Я бы побежал echo "<?php phpinfo() ?>" | strace php 2>&1 | grep php.ini чтобы увидеть, что происходит.

Для людей, которые до сих пор не могут решить эту проблему: в моем случае именно разрешения SELinux препятствовали загрузке PHP php.ini. Изменение контекста для файла php.ini с помощью следующих команд добилось цели:

semanage fcontext -a -t httpd_config_t "/usr/local/lib/php.ini"
restorecon -v -R /usr/local/lib/
Другие вопросы по тегам