терминал — не могу установить расширение php Intl на MacosX

Я слежу за этим ссылка на сайт установить это расширение PHP, но я застрял в середине.
Когда я пытаюсь запустить эту команду pecl install intl Я получаю это сообщение:

Specify where ICU libraries and headers can be found [DEFAULT] :

И я не знаю, где расположены библиотеки ICU.
Если я нажимаю Enter, я получаю эту ошибку:

configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/private/tmp/pear/install/intl/configure --with-php-config=/usr/bin/php-config --with-icu-dir=DEFAULT' failed

Как я могу найти правильный путь к библиотекам ICU?
Я использую High Sierra и MAMP с версией PHP 7.1

6

Решение

ICU выступает за ICU — Международные компоненты для Unicode

Установите его с заваркой

brew update
brew search icu # returns 'icu4c'
brew install icu4c

ИЛИ ЖЕ

Установите его с помощью pecl

sudo pecl update-channels
sudo pecl install intl

установка пакета intl на osx

1

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

РЕДАКТИРОВАТЬ: после лучшего взгляда в [email protected] кажется, что он уже скомпилирован с ‘intl’

php -i | grep intl
... '--enable-intl' ...

Так что мой ответ обычно бесполезен для [email protected] (но я думаю, что он может быть полезен в некоторых случаях)


Сегодня я сталкиваюсь с той же проблемой, пытаясь перейти с php56 на [email protected].

После много копаний вот обходной путь.

Убедитесь, что у вас есть чистая установка [email protected] и она установлена ​​в текущей версии

php -v
PHP 5.6.35 (cli) (built: Mar 31 2018 20:21:31)

Убедитесь, что у вас есть icu4c

brew update
brew install icu4c

Далее мы установим и скомпилируем intl вручную

cd /usr/local/src/
wget https://pecl.php.net/get/intl-3.0.0.tg
tar zxf intl-3.0.0.tgz
cd intl-3.0.0/
phpize --clean
phpize
./configure

А вот и хитрость, отредактируйте Makefile

vi Makefile

Изменить строку CXXFLAGS следующим образом

CXXFLAGS = -g -O2 -std=c++11

И линия CPPFLAGS следующим образом

CPPFLAGS = -DHAVE_CONFIG_H -DU_USING_ICU_NAMESPACE=1

Затем сохраните и скомпилируйте

make
make install

И вуаля

Installing shared extensions:     /usr/local/Cellar/[email protected]/5.6.35/pecl/20131226/

Не забудьте добавить extension="intl.so" на ваш php.ini

vi /usr/local/etc/php/5.6/php.ini

(и перезапустить apache)

Источники:

0

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