Я пытаюсь получить apache / php, чтобы узнать путь к моему git. Я занимаюсь исследованием и просмотром во всех уголках сети и не могу найти, как это сделать. В принципе, независимо от того, что я пытаюсь, когда я запускаю echo phpinfo();
путь к Apache Environment
не изменяется из /usr/bin:/bin:/usr/sbin:/sbin
. И когда я запускаю system('echo $PATH');
в PHP он читает то же самое.
Системная информация:
Вот что я пробовал редактировать до сих пор:
Ничто из того, что я пробовал до сих пор, не изменило $PATH
. Есть идеи?
РЕШЕНИЕ
Итак, вот окончательное решение. Я редактировал
/System/Library/LaunchDaemons/org.apache.httpd.plist
и добавил
<key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin</string> </dict>
Вы можете установить переменную среды PATH в /System/Library/LaunchDaemons/org.apache.httpd.plist
.
Больше в документах .
Вы обновили переменную среды PATH пользователя «_www»? Apache будет считывать переменные среды, которые пользователь запускает сам. Или, похоже, вы не перезапускали apache после обновления переменной среды PATH.
И если вы хотите изменить переменную среды в PHP, getenv () и putenv () могут быть лучшим выбором.
putenv: http://www.php.net/manual/en/function.putenv.php
$ path = getenv ('PATH'); putenv ("PATH = $ path: / new_path_that_you_want_to_add");
Важное примечание для El Capitan (Извинения за новый ответ – мне не хватает Rep для комментариев)
В OSX 10.11 папка / System / Library защищена, поэтому файлы нельзя редактировать.
Тебе нужно:
csrutil disable
csrutil enable
надеюсь, это поможет
для сервера ubuntu, в / etc / apache2 / envvars, для сервера centos, в файле / etc / sysconfig / httpd, чтобы добавить:
export PATH=<your php cli path>
и перезапустите apache
Аналогичная проблема с установкой Derby. То, как я решил, это открыть TextEdit. Выберите «Файл»> «Открыть» в этот момент, нажмите Shift + Command +. , это позволит вам просмотреть все документы. Зайдите в каталог пользователя и найдите файл под названием «.profile». Откройте его и добавьте строку экспорта VARIABLE = Value, например:
экспорт DERBY_HOME = / opt / local / share / java / derby /
Сохраните документ и перезапустите терминал, чтобы узнать, повлияли ли изменения.
Я создал эту суть, которая помогла мне разобраться с приведенной выше информацией:
https://gist.github.com/srayhunter/5208619
Моя проблема заключалась в том, что PHP не нашел программу, которую мы установили в / usr / local / bin. Как только мы сделали это, все работало и отлично играло на Mac OSX.