У меня есть эта странная и глупая проблема, которую я пытаюсь решить уже пару часов. Я установил 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)
Кто-нибудь знает, в чем может быть проблема?
Соответствующая информация:
@ Серверная ОС: Slackware 12.2
@Apache Версия: 2.2.10
@Apache Пользователь / Группа: демон / демон
@PHP Версия: 5.3.6 (Последняя версия)
@PHP ini-файл: /usr/local/php-5.3.6/lib/php.ini
Perms-файл @PHP ini: 777 (daemon.daemon)
Я предполагаю, что файла на самом деле нет или есть проблема с разрешениями. Я бы сбежал 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/