wie man den Pfad von PHP-Fenstern ändert

30142
Guest

Ich habe php heruntergeladen, es meinem Pfad hinzugefügt und versucht, openssl zu aktivieren

php --ini sagt mir, dass die Konfigurationsdatei c: \ windows ist. Dort war nichts. Ich möchte PHP nicht in c / windows kopieren.

Wie ändere ich dies, um auf meinen PHP-Ordner zu verweisen?

11

3 Antworten auf die Frage

10
RiggsFolly

Sie müssen in der Nähe des c:\windowsOrdners nichts mit PHP zu tun haben .

Wenn Sie dies tun, werden Sie nur verwirrt, wenn Sie PHP auf eine neue Version aktualisieren.

Wenn Sie eine CD in den Ordner php --iniladen, in dem PHP installiert ist, und eine CD lesen, 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 in Windows PATH zu platzieren.

Sie benötigen lediglich eine kleine Batch-Datei, die Ihren PATH für die Dauer des von Ihnen verwendeten Befehlsfensters einrichtet und in einem der Ordner ablegt, die sich bereits im Windows-PATH befinden.

Angenommen, Sie haben PHP in C:\phpdiese Datei installiert

phppath.cmd

PATH=%PATH%;C:\php php --ini php -v 

Sie führen diese Batch-Datei dann immer dann aus, wenn Sie ein Befehlsfenster öffnen und PHP-Code ausführen, und Ihre Umgebung wird konfiguriert. Sie können dieser Batchdatei auch andere Dinge hinzufügen, wenn Sie andere Dinge wie Composer usw. in Ihrer Umgebung hinzufügen möchten.

Ja! Das funktioniert für mich. PHP.ini ist besser mit PHP.exe im selben Ordner, damit Web und CLI PHP auf dieselbe PHP.ini verweisen können. Scott Chu vor 8 Jahren 0
@ScottChu Nicht wirklich, es gibt zwei verschiedene Umgebungen, und im wirklichen Leben möchte man oft unterschiedliche Konfigurationen für beide. RiggsFolly vor 7 Jahren 0
3
Cornelius

Laut Dokumentation:

Die Konfigurationsdatei (php.ini) wird beim Start von PHP gelesen. Bei den Servermodulversionen von PHP geschieht dies nur einmal beim Start des Webservers. Bei den CGI- und CLI-Versionen geschieht dies bei jedem Aufruf.

php.ini wird an folgenden Stellen gesucht (in Reihenfolge):

  • SAPI-Modul-spezifische Position (PHPIniDir-Direktive in Apache 2, -c Befehlszeilenoption 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 angegebenen Registrierungsschlüssel überprüft.
  • Ab PHP 5.2.0 kann der Speicherort der Datei php.ini für verschiedene PHP-Versionen festgelegt werden. Die folgenden Registrierungsschlüssel werden der Reihe nach geprüft: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] und [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x]. Neben- und Release-Versionen. Wenn in einem dieser Schlüssel ein Wert für IniFilePath vorhanden ist, wird der erste gefundene als Speicherort der 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 Option --with-config-file-path-Kompilierzeit.

Sie sollten entweder die PHPRCUmgebungsvariable oder den Registrierungsschlüssel ausprobieren [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].

0
Gunther

Ich habe alles ohne Erfolg versucht. der Apache httpd.conf, php.ini und einige andere Versuche geändert, führte immer zu Loaded Configuration File - (keine). Schließlich kopierte ich alle Dateien aus dem Verzeichnis php in das Verzeichnis C: \ Programme (x86) \ Apache Software Foundation \ Apache2.2 \ bin und alles begann zu funktionieren. Perfekt. Leider ist es nicht die perfekte Lösung, aber es hat funktioniert.