Подтвердить что ты не робот

Как использовать php, который установлен brew?

На моем mac я установил php и работал нормально. Недавно мне захотелось установить mcrypt, поэтому я сделал это с помощью brew. Несмотря на то, что он, казалось, прекрасно устанавливался, он не отображается в моей phpinfo(). Поэтому я думаю, что php, который brew установил mcrypt in, это не php, который использует apache.

Кто-нибудь знает, как я могу:

  • проверьте, существует ли разница между php, установленным brew и php, который использует Apache?
  • make apache использует php, который установлен brew?

Все советы приветствуются!

4b9b3361

Ответ 1

Вы должны сделать свой Apache используемым PHP, который вы только что загрузили.

  • Откройте httpd.conf (мой находится в /etc/apache2/httpd.conf) и найдите строку, загружающую модуль PHP, например:

    LoadModule php5_module path/to/php

  • Затем укажите ему PHP, который brew установлен для вас с поддержкой mcrypt. Мой был на этом пути. Ваш может варьироваться в зависимости от установленной версии PHP.

    /usr/local/Cellar/php54/5.4.21/libexec/apache2/libphp5.so

  • Наконец, вам потребуется перезагрузить сервер Apache для загрузки новой конфигурации:

    sudo apachectl restart

Ответ 2

Невозможно прокомментировать процесс stackoverflow, но из-за моего отсутствия опыта, но добавить к вышеуказанному ответу правильно. Просто добавьте комментарий, чтобы найти правильный путь:

пробег:

brew info php54

или которая когда-либо была установлена, и она покажет вам путь:

To enable PHP in Apache add the following to httpd.conf and restart Apache:
    LoadModule php5_module    /usr/local/opt/php54/libexec/apache2/libphp5.so

Ответ 3

Вот команды bash для установки php7.2. Замените нужную версию php.

Эти команды соответствуют инструкциям, приведенным авторами php-формулы Homebrew.

$ brew update php // get the latest homebrew php packages
$ brew install [email protected]
$ brew link [email protected] // create an alias to this keg-only version; see comments output during installation
$ echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile // add the alias to your path; see comments output during installation
$ source ~/.bash_profile // reload .bash_profile to use the new settings immediately

Участники формулы также предоставляют следующие инструкции для включения PHP в Apache:

Чтобы включить PHP в Apache, добавьте в httpd.conf следующее и перезапустите Apache:
   LoadModule php7_module $(brew --prefix)/opt/php/lib/httpd/modules/libphp7.so

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

Наконец, проверьте, что DirectoryIndex включает index.php
DirectoryIndex index.php index.html

Файл php.ini и php-fpm.ini можно найти в:
$(brew --prefix)/etc/php/7.2/

Эти инструкции по включению PHP в Apache появляются в stdout при установке php. В качестве альтернативы в терминале используйте brew info php или посетите страницу формулы Homebrew PHP

Ответ 4

Я бы создал псевдоним, чтобы вы не нарушили установку PHP.

brew info php71

Brew устанавливается в /usr/local/Cellar, поэтому вы можете добавить следующее к ~/.bash_alias или ~/.profile.

alias php7='/usr/local/Cellar/php71/7.1.10_21/bin/php'

Ответ 5

brew install php устанавливает php 7.3 на данный момент, версии ниже только для бочонка

Вы можете сделать псевдонимы для версий ниже, добавив это в:

~/.Profile

alias [email protected]='$(brew --prefix [email protected])/bin/php'
alias [email protected]='$(brew --prefix [email protected])/bin/php'
alias [email protected]='$(brew --prefix [email protected])/bin/php'
alias [email protected]='$(brew --prefix [email protected])/bin/php'

~/.Bashrc

source ~/.profile

~/.Zshrc

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

Тогда ты можешь:

[email protected] -v
[email protected] -v
[email protected] -v
[email protected] -v

Если вы используете composer и php платформы не установлен в вашем проекте, это может быть удобно:

~/.Profile

alias [email protected]='[email protected] $(which composer)'
alias [email protected]='[email protected] $(which composer)'
alias [email protected]='[email protected] $(which composer)'
alias [email protected]='[email protected] $(which composer)'

Если вы часто используете artisan (artisan отображается на php 7.3), это может быть удобно:

~/.Profile

alias [email protected]='[email protected] artisan'
alias [email protected]='[email protected] artisan'
alias [email protected]='[email protected] artisan'
alias [email protected]='[email protected] artisan'

Ответ 6

Попробуйте: brew link php71 --force чтобы использовать версию php для brew. Это сработало для меня.