Как мне добавить пути к переменной Apache PATH? - PullRequest
9 голосов
/ 15 мая 2010

Я установил в моем файле custom.conf в apache2 это:

SetEnv PATH $PATH:/opt/local/lib/mysql5/bin:/this-is-a-test

Однако это не работает. Когда я звоню:

$hey = shell_exec('env'." 2>&1"); var_dump($hey);

Я получаю:

... PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin

Кто-нибудь может помочь? Я на Mac, использую Macports для своей среды разработки. Спасибо!

Ответы [ 4 ]

8 голосов
/ 31 января 2012

для сервера Ubuntu, в / etc / apache2 / envvars, для сервера centos, в / etc / sysconfig / httpd, добавить:

export PATH=<your php cli path>

и перезапустите apache

2 голосов
/ 15 мая 2010

Мне кажется странным, что вы пытаетесь установить PATH изнутри Apache. Вместо этого вы должны установить PATH для вашей системы. Есть несколько способов сделать это в Mac OS X:

Пользователь конкретных
Для одного пользователя вы можете отредактировать ~ / .profile и добавить:

export PATH="$PATH":/opt/local/lib/mysql5/bin:/this-is-a-test

Или вы можете создать / отредактировать ~ / .MacOSX / environment.plist и таким образом определить путь.

для всей системы
В более новых версиях Mac OS X есть файл с именем «/ etc / paths» и папка с именем «/etc/paths.d», которая позволяет расширять пути по умолчанию. По сути, вы должны создать файл в /etc/paths.d, в котором перечислены все пути, которые вы хотите добавить к путям по умолчанию. В версиях Mac OS X, которые не поддерживают это (вы можете сказать, основываясь на том, существует ли «/ usr / libexec / path_helper»), можно редактировать пути по умолчанию для всех пользователей, разместив оператор экспорта выше в / etc / profile.

0 голосов
/ 26 июля 2018

Macports Apache 2.4 установить

Единственный способ, которым я нашел это для перезагрузки - это отредактировать список macports apache2.plist Шаги, которые я предпринял:

1. sudo /opt/local/sbin/apachectl stop

2. Редактировать лист: /opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist

И добавить:

<key>EnvironmentVariables</key>
<dict>
    <key>PATH</key>
    <string>/usr/bin:/bin:/usr/sbin:/sbin:{add paths here}</string>
</dict>

3. sudo port unload apache2

4. sudo port load apache2

5. sudo /opt/local/sbin/apachectl start

Пути прилипают при перезагрузке. Однако plist, вероятно, будет удален при следующем обновлении macports.

РЕДАКТИРОВАТЬ: И это оказалось правдой. Я обновился до Mojave со связанным обновлением macports, и мне пришлось повторно применить шаги, описанные выше

0 голосов
/ 06 мая 2016

Этот вопрос старый, но если он помогает другим, если вы используете Windows с mod_fcgid, проверьте, установлен ли FcgidInitialEnv в вашем httpd.conf, и удалите его для принятия Системный ПУТЬ.

...