Odpowiedzi:
Nie musisz nic robić z PHP gdziekolwiek w pobliżu c:\windows
folderu.
Jeśli to zrobisz, będzie to tylko bałagan podczas aktualizacji PHP do nowej wersji.
Jeśli wykonasz dysk CD do folderu, w którym zainstalowany jest PHP i zrobisz php --ini
to, odczyta plik php.ini z folderu, w którym się znajdujesz.
D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Myślę, że złym pomysłem jest również umieszczenie folderu instalacyjnego PHP w PATH systemu Windows.
Wystarczy mały plik wsadowy, który skonfiguruje ŚCIEŻKĘ na czas korzystania z okna poleceń i umieści ją w jednym z folderów, który jest już w ŚCIEŻCE okna.
Zakładając, że zainstalowałeś w C:\php
tym PHP, to plik wsadowy
phppath.cmd
PATH=%PATH%;C:\php
php --ini
php -v
Następnie wystarczy uruchomić ten plik wsadowy za każdym razem, gdy otwierasz okno poleceń i chcesz uruchomić kod PHP, a środowisko zostanie skonfigurowane. Możesz również dodać inne rzeczy do tego pliku wsadowego, gdy potrzebujesz innych rzeczy dodanych do środowiska, takich jak Composer itp.
Według dokumentacji:
Plik konfiguracyjny (php.ini) jest odczytywany podczas uruchamiania PHP. W przypadku wersji serwerowych PHP, dzieje się to tylko raz, gdy serwer WWW jest uruchamiany. W przypadku wersji CGI i CLI dzieje się to przy każdym wywołaniu.
Plik php.ini jest wyszukiwany w następujących lokalizacjach (w kolejności):
- Lokalizacja specyficzna dla modułu SAPI (dyrektywa PHPIniDir w Apache 2, -c opcja wiersza poleceń w CGI i CLI, parametr php_ini w NSAPI, zmienna środowiskowa PHP_INI_PATH w THTTPD)
- Zmienna środowiskowa PHPRC. Przed PHP 5.2.0 było to sprawdzane po kluczu rejestru wymienionym poniżej.
- Począwszy od PHP 5.2.0, lokalizację pliku php.ini można ustawić dla różnych wersji PHP. Następujące klucze rejestru są sprawdzane w kolejności: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] i [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], gdzie x, y i z oznaczają PHP, wersje pomniejsze i wydania. Jeśli w dowolnym z tych kluczy znajduje się wartość IniFilePath, pierwszy znaleziony zostanie użyty jako lokalizacja pliku php.ini (tylko Windows).
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], wartość IniFilePath (tylko Windows).
- Aktualny katalog roboczy (oprócz CLI).
- Katalog serwera WWW (dla modułów SAPI) lub katalog PHP (w innym przypadku w systemie Windows).
- Katalog Windows (C: \ windows lub C: \ winnt) (dla Windows) lub opcja czasu kompilacji --with-config-file-path.
Powinieneś wypróbować PHPRC
zmienną środowiskową lub klucz rejestru [HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
.
Próbowałem wszystkiego bez powodzenia. zmienił apache httpd.conf, php.ini i kilka innych prób, zawsze skutkowało załadowaniem pliku konfiguracji - (brak). Na koniec skopiowałem wszystkie pliki z katalogu php do katalogu C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin i wszystko zaczęło działać. Doskonale. Niestety nie jest to idealne rozwiązanie, ale zadziałało.