2016-03-11 13 views
5

Próbujemy przejść z PHP5 na PHP7.phpinfo mówi, że ścieżka php.ini to C: Windows, ale nie ma tam php.ini.

Mamy teraz zainstalowany Apache i PHP działa.

Jednak zmiany wprowadzone w pliku php.ini nie mają żadnego wpływu.

Uświadomiliśmy sobie, że powodem jest Configuration File (php.ini) Path pod numerem C:\Windows.

W naszej httpd.conf mamy:

# PHP7 setup 
LoadFile "C:/test/php/php7ts.dll" 
LoadModule php7_module "C:/test/php/php7apache2_4.dll" 
AddHandler php7-script .php 
PHPINIDir "C:/test/php" 

co rozumiem ma uczynić Apache szukać php.ini w c:\test\php (ukośniki są wykorzystywane w http.conf jak jest to wymagane)

Nie zrozumienie, dlaczego Apache nie szuka php.ini, gdzie mówimy, umieszczamy php.ini w c:\Windows, gdzie nadal nie jest czytane (moduły, które ładujemy w php.ini nie są załadowane w phpinfo).

Za każdym razem, gdy wprowadzamy zmiany w php.ini lub httpd.conf, uruchamiamy ponownie Apache za pomocą monitora Apache.

Jak możemy nakazać Apacheowi odczytanie pliku php.ini w określonym katalogu innym niż to, które próbowaliśmy powyżej?

Uzupełnienie:

enter image description here

Zmieniliśmy wszystko z powrotem do PHP5 i teraz uzyskać ten sam błąd, jak w powyższym zrzucie gdzie ścieżka dla PHP. Mówi, że jest to teraz PHP 5.6.0, więc oczywiście ładuje nową wersję PHP, ale coś się zmieniło, więc plik php.ini nie jest czytany w żadnej z wersji. (???)

Restart również nie pomaga.

+1

może być to będzie pomocne https://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php –

+0

spróbuj PHPRC ? możesz podać ścieżkę do katalogu zawierającego twój php.ini, a nie bezpośrednią ścieżkę do php.ini. Więc ** eksportuj PHPRC =/test/php **. Mam nadzieję że to pomoże? – izk

+0

To brzmi trochę jak problem z buforowaniem podczas wykonywania skryptu 'phpinfo()' ... Upewnij się, że dokonałeś głębokiego przeładowania w przeglądarce lub aby wyłączyć pamięć podręczną. – arkascha

Odpowiedz

2

Można spróbować dodać spływu Slash

PHPINIDir "C:/test/php/" 

Od manual

Uwaga: Pamiętaj, że podczas dodawania wartości ścieżka w plikach konfiguracyjnych Apache na Windows, wszystkie backslashe takich jak c: \ katalog \ plik.rozpowinien zostać przekonwertowany na ukośniki: c:/katalog/plik.roz. Ukośny ukośnik może być również konieczny dla katalogów .

+0

Interesująca uwaga na temat ukośnego slasha ... Nigdy go nie używałem i nawet przykład na tej samej stronie nie używa ani ... Ale z PHP i Windows nigdy nie wiadomo. –

+0

Próbowałem 'PHPIniDir" C:/test/php/"' i 'PHPINIDir" C:/test/php/"' ale bezskutecznie. To tak, jakby to było po prostu ignorowanie tej linii. Jeśli wyjmę dowolną inną linię, np. 'LoadFile" C: /test/php/php5ts.dll "' lub 'LoadModule php5_module" C: /test/php/php5apache2_4.dll "' następnie PHP przestaje działać, więc wiem, że Apache analizuje te linie, to po prostu ignorowanie linia 'PHPINIDir' z jakiegoś powodu wydaje się. –

+0

I nie ma żadnej wzmianki o PHP nigdzie indziej w pliku 'httpd.conf', np. żadnych innych ustawień, które je zastępują. –

Powiązane problemy