Wie setzen $PFAD in PHP?
Derzeit arbeite ich an meinem eigenen kleinen Projekt, aber ich habe ein kleines problem: ich möchte um die $PATH-Umgebungsvariable ./bin
so, dass wenn ich exec()
und ähnliche Funktionen, es würde nur die Suche nach Binär-Dateien in diesem Verzeichnis (es sei denn, ich habe ausdrücklich sagen, es anders).
Ich habe bereits versucht putenv()
, das wird nicht funktionieren, es sei denn, ich habe safe-mode aktiviert, die ich lieber nicht; und ich habe auch versucht apache_setenv()
, aber das schien nicht zu funktionieren.
Gibt es andere Lösungen, die ich vielleicht ausprobieren wollen?
(Ich verwende einen Linux-Rechner mit PHP 5.3.2)
- Du meinst "es sei denn, ich habe safe-mode deaktiviert" ?
- Nein, eigentlich nicht, es sei denn, ich habe safe-mode aktiviert. Sehen Sie selbst auf der Bedienungsanleitung Seite: php.net/manual/en/function.putenv.php
- "Diese Richtlinien haben nur Wirkung, wenn safe-mode selbst ist aktiviert!" aus php.net/manual/en/function.putenv.php. das ist albern.
- genau, und was noch schlimmer ist, dass safe-mode selbst ist veraltet....
- ja, ich lese das so, und ich dachte, "Richtlinien" gemeint safe_mode_protected_env_vars, safe_mode_allowed_env_vars. Aber wenn Sie versucht haben,...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, um es nur in bestimmten Umständen, die Sie tun können:
./bin
(in diesem Fall spielt es keine Auswirkungen auf Sie überhaupt, da es ein relativer Pfad ist). Wenn./bin
ist z.B. ein Skript, das ruft andere Anwendungen kann dies Auswirkungen auf die Weg-Auflösung für Sie.Den Weg zu ändern, den PFAD von apache auf Mac OS X ist hier beschrieben:
http://lists.apple.com/archives/macos-x-server/2008/Sep/msg00433.html
Wie bereits in diesem post:
anstatt den Pfad zu
bin
und ruftfoo
, warum Sie nicht einfach explizit aufzurufenbin/foo
?Wenn Sie haben, Weg legen für Ihre Benutzer, UND wenn Sie Ihre Skripte ausführen, wie deine user, nur was Sie tun sollten, ist diesen Weg für Ihre shell, aber ist Ihr die Skripte laufen als der ie. apache-user (www-data in debian-ähnlichen Systemen) für diese zu arbeiten, sollten Sie diesen PFAD für diesen Benutzer explicte