Ich versuche, Apache/PHP dazu zu bringen, den Pfad zu meinem Git zu erkennen. Ich habe in allen Ecken des Webs recherchiert und gesucht und kann nicht herausfinden, wie das geht. Grundsätzlich ändert sich der Pfad für Apache Environment
nicht von /usr/bin:/bin:/usr/sbin:/sbin
, egal was ich versuche, wenn ich echo phpinfo();
ausführe. Und wenn ich system('echo $PATH');
in PHP laufen lasse, liest es das selbe.
System Information:
Folgendes habe ich bisher ausprobiert:
Nichts, was ich bisher ausprobiert habe, hat die Variable $PATH
geändert. Irgendwelche Ideen?
LÖSUNG
Hier ist also die endgültige Lösung. Ich habe die
/System/Library/LaunchDaemons/org.Apache.httpd.plist
und fügte hinzu
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin</string>
</dict>
Sie können die Umgebungsvariable PATH in /System/Library/LaunchDaemons/org.Apache.httpd.plist
festlegen.
Mehr in der docs .
Haben Sie die Umgebungsvariable PATH des Benutzers '_www' aktualisiert? Apache liest Umgebungsvariablen vom Benutzer selbst aus. Oder Sie haben Apache offenbar nicht neu gestartet, nachdem Sie die Umgebungsvariable PATH aktualisiert haben.
Und wenn Sie Umgebungsvariablen in PHP ändern möchten, können getenv () und putenv () eine bessere Wahl sein.
putenv: http://www.php.net/manual/en/function.putenv.php
$ path = getenv ('PATH'); putenv ("PATH = $ path:/new_path_that_you_want_to_add");
Wichtiger Hinweis für El Capitan (Entschuldigung für die neue Antwort - Ich habe nicht genug Repräsentanten, um Kommentare abzugeben)
Unter OSX 10.11 ist der Ordner/System/Library geschützt, sodass die Dateien nicht bearbeitet werden können.
Du musst:
csrutil disable
csrutil enable
aus.Hoffentlich hilft das
Ich habe dieses Gist erstellt, das mir anhand der obigen Informationen geholfen hat:
https://Gist.github.com/srayhunter/5208619
Mein Problem war, dass PHP kein Programm fand, das wir unter/usr/local/bin installiert hatten. Sobald wir das oben Genannte getan haben, hat alles geklappt und Nice auf Mac OSX gespielt.
Ein ähnliches Problem wie bei der Installation von Derby. Die Art und Weise, wie ich es gelöst habe, war das Öffnen von TextEdit. Wählen Sie Datei> An dieser Stelle öffnen und drücken Sie Umschalt + Befehl +. Auf diese Weise können Sie alle Dokumente anzeigen. Gehen Sie in das Benutzerverzeichnis und suchen Sie nach einer Datei mit dem Namen ".profile". Öffnen Sie es und fügen Sie die Zeile export VARIABLE = Value hinzu, zum Beispiel:
export DERBY_HOME =/opt/local/share/Java/derby /
Speichern Sie das Dokument und starten Sie Ihr Terminal neu, um festzustellen, ob die Änderungen wirksam wurden.
für Ubuntu-Server in/etc/Apache2/envvars, für Centos-Server in/etc/sysconfig/httpd:
export PATH=<your php cli path>
und starte Apache neu