Установите расширение PHP для OSX High Sierra

Как установить расширение PHP для intl в PHP 7.1.7, которое поставляется с osx high sierra?

17

Решение

Так что у меня была точно такая же проблема. Как отмечают другие люди, комментирующие здесь, 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

Надеюсь, поможет!

27

Другие решения

откройте терминал и введите:

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

Наслаждайтесь!

10

После интеграции с 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

Меня устраивает.

7

В дополнение к тому, что Л. Гролло говорит (бежать brew install php71-intl), вставьте int.so путь к /php.ini в конце файла:

extension=/usr/local/Cellar/php71-intl/7.1.11_20/intl.so
4

Я запускаю 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/, только для лучшей организации.

2

Я нахожу решение.

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

Затем я скопировал intl.so из установки в каталог расширений, который определен в моем php.ini.

1

Мне удалось решить это.

Сначала удалите все пакеты php, которые у вас есть, с помощью brew, затем запустите brew update а также brew doctor команды.

Теперь установите с brew install [email protected] (при необходимости изменил версию) intl включен в сборку для всех php-формул.

Чтобы подтвердить, что это работает, запустите php -m | grep intl, Вы увидите, что расширение intl включено. Если нет, проверьте файл php.ini и убедитесь, что расширение загружается.

1

Удалите следующий файл с

rm /usr/local/etc/php/7.1/conf.d/ext-intl.ini

Работал для меня, спасибо доморощенный выпуск

0
По вопросам рекламы [email protected]