Расширение PHP intl установлено, но CakePHP устанавливает, что оно отсутствует
Уже более суток я пытаюсь запустить проект CakePHP 3. Когда я запускаю команду установки composer, я получаю следующую ошибку:
cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system.
Я использую MacOS Sierra 10.12.2. XCode и весь этот джаз полностью обновлены. Я использую PHP 5.6.25 через MAMP Pro 4.0.1 (3985). И я пытаюсь установить CakePHP 3.3.x через мой терминал, который использует ZSH вместо Bash.
Я потратил довольно много времени, пытаясь установить Intl. И к настоящему времени я довольно уверен, что это действительно установлено:
- Когда я бегу
php -m
я вижуintl
в списке модулей PHP. - я имею
extension=intl.so
в моем php.ini, расположенном в/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
, - Файл
intl.so
находится в каталоге/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
, - На странице Mpin phpinfo я вижу
'--enable-intl'
в ячейке команды настройки. Далее вниз по странице есть собственная таблица, показывающая, что интернационализация поддерживается версией 1.1.0. Однако в этой таблице для строкиintl.default_locale
значениеno value
, Может ли это быть моей проблемой? - В моем
~/.zshrc
файл у меня естьalias php="/Applications/MAMP/bin/php/php5.6.25/bin/php"
поэтому я могу быть уверен, что использую правильную версию и установку PHP.
Я надеюсь, что ничего не испортил, пытаясь использовать так много статей и ответов Stackru, чтобы это работало. Я знаю, что есть ряд подобных intl
вопросы здесь, но пока мне не повезло ни с какими ответами.
Итак, я полагаю, вот мои два основных вопроса:
- Достаточно ли доказательств, которые я перечислил выше, чтобы предположить, что
intl
расширение установлено правильно, и почему CakePHP по-прежнему жалуется на то, что расширение отсутствует, если оно установлено правильно? - Если он установлен неправильно, как я могу исправить это и получить CakePHP для установки?
Спасибо!
1 ответ
Спасибо всем, кто приложил руку к комментариям. Но отдельное спасибо Aman Rawat за то, что он указал мне на этот ответ. Я прочитал эту ветку несколько раз, но, видимо, упустил из виду.
я добавил export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"
в ~/.zshrc
,
Затем я смог установить CakePHP через composer
.\
Я предположил, что на моем пути был PHP MAMP. У меня было это как псевдоним, так php
в терминале будет правильно указывать на установку MAMP PHP, но оказывается, что PHP никогда не был в моем PATH.
К сожалению!
Я думаю, что вы не включили расширение intl из файла php.ini.