Как установить расширение PHP для intl в PHP 7.1.7, которое поставляется с osx high sierra?
Так что у меня была точно такая же проблема. Как отмечают другие люди, комментирующие здесь, High Sierra поставляется с установленным PHP 7.1, и эта версия PHP скомпилирована с ним.
В моем случае, я следовал за частью комментариев Neodork в следующем Валет + выпуск:
«Установить» PHP 7.1 (так что это происходит от самого brew, а не от установленного High Sierra)
brew install [email protected]
Обновите его до последней версии
brew upgrade [email protected]
Симлинки для ссылок в подвале:
brew link --overwrite --force [email protected]
Изменить путь PHP в моем профиле bash
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile
Перезагрузите свой профиль Bash (вы можете закрыть терминал и открыть его снова)
. ~/.bash_profile
Проверьте на Intl
php -m | grep intl
Замечания: Если вы сталкиваетесь с такими предупреждениями, как:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-intl/intl.so'
Затем вы должны отключить предыдущий intl:
mv /usr/local/etc/php/7.1/conf.d/ext-intl.ini /usr/local/etc/php/7.1/conf.d/ext-intl.ini.disabled
Надеюсь, поможет!
откройте терминал и введите:
brew search intl
вы должны увидеть php71-intl, а затем запустить
brew install homebrew/php/php71-intl
затем перезапустите Apache
sudo apachectl restart
затем введите:
php -i | grep intl
вы должны увидеть что-то вроде этого:
Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-intl.ini
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0
Наслаждайтесь!
После интеграции с brew/php
в brew/core
, intl
расширение включено в установку по умолчанию. У меня тоже была такая же проблема intl
расширение не работает. Проблема, с которой я столкнулся, заключалась в том, что среда командной строки не использовала установленную версию PHP, а версию по умолчанию из системы macOS.
Чтобы включить установленную версию, вам необходимо сделать следующее:
После
brew install [email protected]
Вам нужно связать установленную версию PHP:
brew link [email protected]
Тогда вам нужно открыть новый терминал, чтобы сделать его эффективным.
Затем дважды проверьте бинарный путь PHP,
which php
убедитесь, что это
/usr/local/bin/php
вместо
/usr/bin/php
Затем проверьте, включено ли расширение intl,
php -m | grep intl
Меня устраивает.
В дополнение к тому, что Л. Гролло говорит (бежать brew install php71-intl
), вставьте int.so
путь к /php.ini
в конце файла:
extension=/usr/local/Cellar/php71-intl/7.1.11_20/intl.so
Я запускаю Brew 1.6.2, на ОС High Sierra. Расширение intl пока недоступно в пакетах brew.
Решение @Mondy отлично сработало для меня. После запуска
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
Пакеты будут доступны в / usr / local / php5 или /usr/local/php5-7.0.27-20180201-135220.
Таким образом, в вашем /usr/local/etc/php/7.0/php.ini вы можете разместить следующие строки для включения расширения intl:
[intl]
extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/intl.so"
В моем случае я предпочел создать файл «ext-intl.ini» в /usr/local/etc/php/7.0/conf.d/, только для лучшей организации.
Я нахожу решение.
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
Затем я скопировал intl.so из установки в каталог расширений, который определен в моем php.ini.
Мне удалось решить это.
Сначала удалите все пакеты php, которые у вас есть, с помощью brew, затем запустите brew update
а также brew doctor
команды.
Теперь установите с brew install [email protected]
(при необходимости изменил версию) intl включен в сборку для всех php-формул.
Чтобы подтвердить, что это работает, запустите php -m | grep intl
, Вы увидите, что расширение intl включено. Если нет, проверьте файл php.ini и убедитесь, что расширение загружается.
Удалите следующий файл с
rm /usr/local/etc/php/7.1/conf.d/ext-intl.ini
Работал для меня, спасибо доморощенный выпуск