Подтвердить что ты не робот

Установка CakePHP 3.0: внутреннее расширение отсутствует в системе

Используя CakePHP docs, я пытаюсь установить 3.0-beta2 с помощью composer, но я получил эту ошибку:

cakephp/cakephp 3.0.x-dev requires ext-intl * → the requested PHP extension intl is missing from your system

Тем не менее, я точно знаю, что intl установлен (он показывает на phpinfo). Я использую PHP 5.4.33/Apache 2.4.10.1

4b9b3361

Ответ 1

Я столкнулся с той же проблемой сегодня. Вам нужно включить расширение intl PHP в вашей конфигурации PHP (.ini).

Решение Xampp (Windows)

  1. Откройте /xampp/php/php.ini
  2. Изменить ;extension=php_intl.dll на extension=php_intl.dll (удалить точку с запятой)
  3. Скопируйте все файлы /xamp/php/ic*.dll в /xampp/apache/bin
  4. Перезапустите apache в панели управления Xampp

Решение Linux (спасибо Аннамалай Сомасундарам)

  1. Установить расширение php5-intl sudo apt-get install php5-intl

    1.1. В качестве альтернативы используйте sudo yum install php5-intl если вы используете CentOS или Fedora.

  2. Перезапустите apache sudo service apache2 restart

Решение Mac/OSX (доморощенный) (спасибо деизелю)

  1. Установите расширение php5-intl brew install php56-intl
  2. Если вы получили No available formula for php56-intl следуйте этим инструкциям.
  3. Перезапустите apache sudo apachectl restart

В конце концов вы можете запустить composer install чтобы проверить, работает ли он. Это даст ошибку, если это не так.

Ответ 2

Я столкнулся с той же проблемой в ubuntu 12.04

Установлен: sudo apt-get install php5-intl

Перезагрузили Apache: sudo service apache2 restart

Ответ 3

OS X Homebrew (май 2015 г.):

Расширение intl было удалено из основных формул php5x, поэтому вы больше не компилируете флаг --enable-intl.

Если вы не можете найти новый пакет:

$ brew install php56-intl
Error: No available formula for php56-intl

Следуйте этим инструкциям: https://github.com/Homebrew/homebrew-php/issues/1701

$ brew install php56-intl
==> Installing php56-intl from homebrew/homebrew-php

Ответ 4

При использовании MAMP

1 Перейти к терминалу

vim ~/.bash_profile

i

export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH

Измените php5.6.2 на версию php, которую вы используете с MAMP

Нажмите ESC, введите :wq, нажмите Enter

source ~/.bash_profile

какой php

2 Установите порты Mac

https://www.macports.org/install.php

sudo port install php5-intl ИЛИ sudo port install php53-intl

cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/

{take a good look at the folder names that u use the right ones}

3 Добавьте расширение

Теперь добавьте расширение к вашему файлу php.ini:

extension=intl.so

Полезная ссылка: https://gist.github.com/irazasyed/5987693

Ответ 5

Короткий ответ: активируйте расширение intl в php_cli.ini. Благодаря @ndm для его ввода.

Ответ 6

В сообщении об ошибке четко указано, в чем проблема. Вам необходимо установить встроенное расширение.

Шаг 1: установите PHP в удобную версию

$sudo apt-get install php-intl

Шаг 2:

Для встроенного расширения XAMPP Server уже установлено, вам необходимо включить это расширение, чтобы раскомментировать его ниже в файле php.ini. Файл Php.ini находится в каталоге c:\xampp\php\php.ini или где вы установили XAMPP.

Перед раскомментированием:

; extension = php_intl.dll; extension = php_mbstring.dll

После раскола:

extension = php_intl.dll extension = php_mbstring.dll

Ответ 7

В моем случае я на самом деле не пытался запускать cakephp локально, я просто пытался получить его для автоматического обновления локально с помощью композитора (потому что я играю с написанием плагинов, которые вы устанавливаете вместе с композитором). Поскольку я даже не запускаю его локально, я просто могу игнорировать требования, добавляя флаг -ignore-platform-reqs.

php composer.phar update --ignore-platform-reqs

Ответ 8

Для терминала Ubuntu:

Следуйте инструкциям:

Шаг-1:

cd ~

Шаг -2: Выполните следующие команды

sudo apt-get install php5-intl

Шаг -3: Затем вам необходимо перезапустить Apache

sudo service apache2 restart


Для Windows (XAMPP):

Найдите файл Php.ini:

/xampp/php/php.ini

Обновите файл php.ini с помощью remove (;) semi colon, как указано ниже:

; extension = php_intl.dll - extension = php_intl.dll

и сохраните файл php.ini.

После этого вам нужно

Перезапустите xampp с помощью управления xampp.

Ответ 9

В моем случае моя работающая версия php 7.1.x на Mac OSX. Я установил команду intl, используя brew установить php71-intl. Размещение расширения = intl.so внутри php.ini не имело никакого эффекта. Наконец, я искал каталог с установленным расширением, и там я увидел intl.so и поместил этот путь (extension =/usr/local/Cellar/php71-intl/7.1.11_20/intl.so) в мой php.ini, и он решил мою проблему.

Ответ 10

СДЕЛАЙТЕ этот

В XAMPP включено расширение intl, но вы должны раскомментировать расширение php_intl.dll в php.ini и перезапустить сервер через панель управления XAMPP. В WAMP расширение по умолчанию "активировано" по умолчанию, но не работает. Чтобы заставить его работать, вы должны пойти в папку php (по умолчанию) C:\wamp\bin\php\php {version}, скопировать все файлы, которые выглядят как icu *.dll, и вставить их в каталог apache bin C:\WAMP\Bin\Apache\апача {версия}\Bin. Затем перезапустите все службы, и все будет в порядке.

если вы используете XAMPP, сделайте это 1. выключить XAMPP 2. Модифицированный php.ini находится в c/: xampp/php/php.ini 3. Внутреннее расширение включено, но вы должны раскомментировать расширение php_intl.dll в php.ini и перезапустить сервер через панель управления XAMPP.

Ответ 11

Intl Means: расширение интернационализации, которое позволяет программистам выполнять UCA-совместимую сортировку и число, валюту, дату, время форматирования в PHP-скриптах.

Можно включить PHP Intl с PECL.

pecl install intl

На простой RHEL/CentOS/Fedora PHP Intl можно установить с помощью yum

yum install php-intl

В Ubuntu PHP Intl можно установить с помощью apt-get

 apt-get install php5-intl

Перезапустите службу Apache, чтобы изменения вступили в силу.

Что он

Ответ 12

Для тех, кто получает Package not found ошибку try sudo apt-get install php7-intl, запустите composer install в каталоге проекта.

Ответ 13

У меня была такая же проблема в окнах Ошибка заключалась в том, что я установил несколько версий PHP, а переменные среды маршрутизировали на неправильный путь php см. Пример изображения

Ответ 14

Я использую Mac OS High Sierra, и ни один из них не помог мне. Но после долгих поисков я нашел тот, который работает!

Это может показаться тривиальным, но на самом деле около 2 месяцев назад некоторые умные ребята внесли изменения в репозиторий brew, сделав это просто: brew install php71-intl покажет вам сообщение об ошибке, что такой рецепт не существует.

К счастью, есть. В другом репозитории Brew есть временное исправление, поэтому все, что вам нужно сделать, это:

brew tap kyslik/homebrew-php
brew install kyslik/php/php71-intl

ИСТОЧНИК: http://blastar.biz/2018/04/14/how-to-enable-php-intl-extension-for-php-7-1-using-xampp-on-macos-high-sierra/

Ответ 15

Если вы используете последнюю версию Ubuntu 16.04 или выше, просто сделайте

sudo apt-get install php-intl

Затем перезагрузите ваш Apache

sudo service apache2 restart