У меня есть вопрос, противоположный тому, почему версия PHP отличается в phpinfo() и CLI? Мой вопрос отличается от этого, потому что я получаю ожидаемый PHP для CLI и неправильный для моего локального веб-сервера. Кроме того, предлагаемое там решение (изменение пути к "LoadModule" в apache2/httpd.conf) не работает для меня, поскольку версия PHP, установленная brew, не имеет аналогичного файла .so для загрузки в LoadModule.
Я запускал PHP 5.5 на Mac El Capitan. Я пытаюсь запустить Craft CMS на моей локальной машине, для которой требуется mcrypt, который установлен с PHP 5.6 и выше.
Используя brew, я установил PHP 5.6. Но когда я запускаю phpinfo();
в моей папке Craft я все еще на PHP 5.5.
Если я иду в командную строку и говорю, which php
, я получаю:
php is /usr/local/bin/php
php is /usr/bin/php
php is /usr/local/bin/php
Затем /usr/local/bin/php -v
дает мне: PHP 5.6.30 (cli) (built: Mar 11 2017 09:56:18)
и /usr/bin/php -v
дает мне:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so, 9): image not found in Unknown on line 0
PHP 5.5.36 (cli) (built: May 29 2016 01:07:06)
Единственное место, которое я знаю, что PHP вызывается для сервера, находится в etc/apache2/httpd.conf
, где он LoadModule php5_module libexec/apache2/libphp5.so
.
PHP для brew находится в /usr/local/Cellar/php56
, но там нет .so файла.
У меня также есть homebrew.mxcl.php56.plist
в ~/Library/LaunchAgents
, скопированный из установки brew.
Файл php.ini
остается тем же самым из папки etc
Что я должен сделать, чтобы загрузить более новую версию PHP 5.6 вместо стандартной версии PHP 5.5?