Расширение 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. И к настоящему времени я довольно уверен, что это действительно установлено:

  1. Когда я бегу php -m я вижу intl в списке модулей PHP.
  2. я имею extension=intl.so в моем php.ini, расположенном в /Applications/MAMP/bin/php/php5.6.25/conf/php.ini,
  3. Файл intl.so находится в каталоге /Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226,
  4. На странице Mpin phpinfo я вижу '--enable-intl' в ячейке команды настройки. Далее вниз по странице есть собственная таблица, показывающая, что интернационализация поддерживается версией 1.1.0. Однако в этой таблице для строки intl.default_locale значение no value, Может ли это быть моей проблемой?
  5. В моем ~/.zshrc файл у меня есть alias php="/Applications/MAMP/bin/php/php5.6.25/bin/php" поэтому я могу быть уверен, что использую правильную версию и установку PHP.

Я надеюсь, что ничего не испортил, пытаясь использовать так много статей и ответов Stackru, чтобы это работало. Я знаю, что есть ряд подобных intl вопросы здесь, но пока мне не повезло ни с какими ответами.

Итак, я полагаю, вот мои два основных вопроса:

  1. Достаточно ли доказательств, которые я перечислил выше, чтобы предположить, что intl расширение установлено правильно, и почему CakePHP по-прежнему жалуется на то, что расширение отсутствует, если оно установлено правильно?
  2. Если он установлен неправильно, как я могу исправить это и получить 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.

Другие вопросы по тегам