Как использовать php, который установлен brew?
На моем mac я установил php и работал нормально. Недавно мне захотелось установить mcrypt, поэтому я сделал это с помощью brew. Несмотря на то, что он, казалось, прекрасно устанавливался, он не отображается в моей phpinfo(). Поэтому я думаю, что php, который brew установил mcrypt in, это не php, который использует apache.
Кто-нибудь знает, как я могу:
- проверьте, существует ли разница между php, установленным brew и php, который использует Apache?
- make apache использует php, который установлен brew?
Все советы приветствуются!
Ответы
Ответ 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. Это сработало для меня.