macos — PHP exec («который php») возвращает неверный результат

локальный сайт разработки на моем OS X Mavericks использует команду exec («which php») -. Результатом этого exec () — Command является «/ usr / bin / php», что на самом деле неверно, оно должно возвращать «opt / local / php5 / bin / php».
«opt / local / php5 / bin / php» является результатом команды «what php» в моем терминальном сеансе. Как я могу это исправить?

-3

Решение

Если вы зададите неправильный вопрос, вы получите неправильный результат. 😉

which Команда возвращает вам полный путь к исполняемому файлу. Те места, где which ищет команду, определены в $PATH переменная окружения, и это выглядит примерно так:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/android-sdk/sdk/platform-tools:/opt/android-sdk/sdk/tools

Это общие пути команд, разделенные двоеточиями.

Очевидно, у вас есть несколько установок PHP на вашем компьютере. То, что вы получаете, — это путь к первичному, вероятно установленному вашим менеджером пакетов.

Тот в /opt будет найден только если вы добавите /opt/local/php5/bin на усмотрение пользователя вашего веб-сервера, и это должно быть раньше /usr/bin,

Теперь, как вы устанавливаете $PATH вашего веб-сервера? В зависимости от вашего сервера (Apache, Nginx,…) и вашего дистрибутива, существуют разные возможности. Для Apache в Debian-подобной системе это обычно /etc/apache2/envvars,

Если нет PATH еще не определено, просто добавьте следующую строку:

export PATH="/opt/local/php5/bin:$PATH"

(Обратите внимание, что PATH в начале не имеет $ знак.)

Затем перезапустите ваш веб-сервер.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]