Сначала подтвердите путь, по которому был установлен PHP7.2.
В большинстве случаев это должно быть /usr/local/opt/php@7.2
, но могут быть некоторые различия, если вы не уверены, проверьте файл. * Shrc (* = ваша оболочка, например .zshrc, .bashrc), он должен иметь строка типа PATH="/usr/local/opt/php@7.2/bin
.
Во-вторых, скопируйте эту строку (в моем случае): usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
, в соответствии с тем, что я упомянул на первом шаге, вам может потребоваться изменить что-то в этой строке, чтобы соответствовать ситуации (например, другое имя пути ) вы встречались.
В-третьих, отредактируйте ваш конфигурационный файл Apache: sudo vi /etc/apache2/httpd.conf
(Кроме того, здесь могут быть некоторые различия, но их не должно быть слишком много). Затем найдите строку: LoadModule php7_module libexec/apache2/libphp7.so
. Это оригинальный модуль PHP7, который является 7.1.XX. Нам нужно закомментировать это, добавив #
в начале этой строки, чтобы оно стало #LoadModule php7_module libexec/apache2/libphp7.so
.
Наконец, мы добавим новую строку LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
, путь должен идти со второго шага.
После того, как все сделано, мы можем сначала запустить sudo apachectl configtest
, чтобы убедиться, что все в порядке или нет. Затем запустите sudo apachectl restart
, phpinfo();
должен отобразить правильную версию PHP, которую вы назначили.
Однако это не может успешно решить вашу проблему. Есть еще некоторые проблемы, которые необходимо решить: необходимо настроить конфигурации PHP, установить и запустить PHP-FHM.
Таким образом, вы можете легко сравнить два php.ini
файла (/etc/php.ini
и /usr/local/etc/php/7.2/php.ini
) через редактор, который имеет функцию сравнения, чтобы убедиться, что новый файл уже установлен в «нормальное» состояние.
Другой способ - установить PHP-FPM, поскольку во встроенном PHP уже есть функция PHP-FPM, это означает, что более новая также должна включить эту функцию, в противном случае все может пойти не по порядку. Нам нужно снова изменить конфигурационный файл Apache, комментируя / раскомментируя или добавляя следующие строки, вы должны заметить, что php7_module снова закомментирован, и это нормальная практика.
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_fcgi_module libexec/apache2/mod_proxy_fcgi.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule rewrite_module libexec/mod_rewrite.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
<FilesMatch .php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
После внесения изменений не забудьте перезапустить сервер Apache. Затем выполните эти команды или только последнюю и перезапустите ваш Mac, тогда все должно быть как обычно:
sudo /usr/local/opt/php@7.2/sbin/php-fpm --fpm-config /usr/local/etc/php/7.2/php-fpm.conf
sudo cp /usr/local/opt/php@7.2/homebrew.mxcl.php@7.2.plist /Library/LaunchDaemons/homebrew.mxcl.php@7.2.plist