Chciałem sprawdzić czy można użyć kilku plików php.ini zakładając, że każdy kolejny plik nadpisuje ustawienia z plików poprzednich. Testowałem PHP w wersji 4.4.7 i 5.2.5 skompilowane jako CGI ze wsparciem dla FastCGI. Podczas konfiguracji użyłem między innymi parametrów:

Po krótkim debugowaniu aplikacji okazało się w jakiej kolejności PHP poszukuje plików ini:

Wyżej wymieniona kolejność jest taka sama dla PHP uruchamianego z poziomu FastCGI/CGI. W przypadku pominięcia parametru --enable-fastcgi zmianie ulega nazwa pliku php-cgi-fcgi.ini na php-cgi.ini.

W przypadku PHP uruchomionego jako moduł Apache sprawa ma się trochę inaczej:

(PHP było skompilowane z opcją --sysconfdir=/etc/php5/apache.)

Niestety testy które przeprowadziłem wykazały, że PHP po znalezieniu pierwszego pliku ini pomija dalsze lokalizacje. Planowałem na podstawie tego mechanizmu dać użytkownikom możliwość posiadania własnego pliku php.ini z gwarancją, iż niektóre parametry były by zawsze globalnie nadpisywane (np: open_basedir, czy disable_functions).


Podziel się tym newsem z innymi:

  • Wykop
  • del.icio.us
  • Gwar
Pozostaw odpowiedź