Antworten:
Sie müssen nichts in der Nähe des c:\windows
Ordners mit PHP zu tun haben .
Wenn Sie dies tun, wird es Sie nur durcheinander bringen, wenn Sie PHP auf eine neue Version aktualisieren.
Wenn Sie eine CD in den Ordner php --ini
erstellen , in dem PHP installiert ist, und eine Datei ausführen, wird die Datei php.ini aus dem Ordner gelesen, in dem Sie sich befinden.
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)
Ich denke, es ist auch eine schlechte Idee, den PHP-Installationsordner auch in den Windows-Pfad zu legen.
Sie benötigen lediglich eine kleine Batch-Datei, mit der Sie Ihren PATH für die Dauer des von Ihnen verwendeten Befehlsfensters einrichten und in einen der Ordner legen können, die sich bereits im Windows-PATH befinden.
Angenommen, Sie haben PHP darin installiert, C:\php
ist dies die Batch-Datei
phppath.cmd
PATH=%PATH%;C:\php
php --ini
php -v
Und Sie führen diese Batch-Datei jedes Mal aus, wenn Sie ein Befehlsfenster öffnen und PHP-Code ausführen möchten, und Ihre Umgebung wird konfiguriert. Sie können dieser Batchdatei auch andere Dinge hinzufügen, wenn Sie andere Dinge wie Composer usw. zu Ihrer Umgebung hinzufügen müssen.
Laut Dokumentation:
Die Konfigurationsdatei (php.ini) wird beim Start von PHP gelesen. Bei den Servermodulversionen von PHP geschieht dies nur einmal, wenn der Webserver gestartet wird. Bei den CGI- und CLI-Versionen geschieht dies bei jedem Aufruf.
php.ini wird an folgenden Orten gesucht (in der Reihenfolge):
- SAPI-Modul-spezifischer Speicherort (PHPIniDir-Direktive in Apache 2, Befehlszeilenoption -c in CGI und CLI, Parameter php_ini in NSAPI, Umgebungsvariable PHP_INI_PATH in THTTPD)
- Die PHPRC-Umgebungsvariable. Vor PHP 5.2.0 wurde dies nach dem unten genannten Registrierungsschlüssel überprüft.
- Ab PHP 5.2.0 kann der Speicherort der Datei php.ini für verschiedene Versionen von PHP festgelegt werden. Die folgenden Registrierungsschlüssel werden der Reihe nach untersucht: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] und [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], wobei x, y und z den PHP-Major bedeuten. Neben- und Release-Versionen. Wenn in einem dieser Schlüssel ein Wert für IniFilePath enthalten ist, wird der erste gefundene als Speicherort für die php.ini verwendet (nur Windows).
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], Wert von IniFilePath (nur Windows).
- Aktuelles Arbeitsverzeichnis (außer CLI).
- Das Verzeichnis des Webservers (für SAPI-Module) oder das Verzeichnis von PHP (ansonsten in Windows).
- Windows-Verzeichnis (C: \ windows oder C: \ winnt) (für Windows) oder die Kompilierungszeitoption --with-config-file-path.
Sie sollten entweder die PHPRC
Umgebungsvariable oder den Registrierungsschlüssel ausprobieren [HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
.
Ich habe alles ohne Erfolg versucht. Das Ändern der Apache httpd.conf, php.ini und mehrerer anderer Versuche führte immer zu einer geladenen Konfigurationsdatei - (keine). Schließlich habe ich alle Dateien aus dem PHP-Verzeichnis in das Verzeichnis C: \ Programme (x86) \ Apache Software Foundation \ Apache2.2 \ bin kopiert und alles begann zu funktionieren. Perfekt. Leider ist es nicht die perfekte Lösung, aber es hat funktioniert.