CakePHP 3.0 не работает без расширения intl

Я пытаюсь установить и запустить проект CakePHP 3.0 на общем хостинге.
Однако для CakePHP 3.0 требуется расширение php-intl, но хостинг-провайдер запретил мне устанавливать/включать расширение intl на общем хостинге.

Как запустить CakePHP 3.0 без расширения intl?

Можно ли отключить его в CakePHP? Или есть альтернатива, которую я могу использовать?

Я попал в большую беду. Пожалуйста помоги...


person Mohit Gupta    schedule 02.01.2015    source источник
comment
Почему бы вам не отдать свои деньги компании, которая действительно заботится о своих клиентах и ​​устанавливает самые распространенные расширения?   -  person Rangad    schedule 02.01.2015
comment
Для справки: github.com/cakephp/cakephp/issues/5356   -  person ndm    schedule 02.01.2015
comment
Вы всегда можете позвонить/написать письмо своему провайдеру. Я думаю, они включат расширение, если вы попросите.   -  person Tijme    schedule 02.01.2015
comment


Ответы (8)


если все еще есть проблема с установкой php_intl, попробуйте следующий плагин: https://github.com/hraq/cake-intl

Это не даст никакой функциональности intl, но позволит вам использовать Cake на сервере, где по какой-то причине нельзя использовать php_intl.

person Jussi Salminen    schedule 05.06.2015

Как в XAMPP, так и в WAMP расширения mcrypt и mbstring работают по умолчанию.

В XAMPP включено расширение intl, но вы должны раскомментировать extension=php_intl.dll в php.ini и перезапустить сервер через панель управления XAMPP.

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

http://book.cakephp.org/3.0/en/installation.html#requirements

person ashkufaraz    schedule 25.06.2015
comment
Спасибо за ваш ответ по использованию расширения intl с WAMP. Я не мог понять, почему он не работает, поскольку он включен по умолчанию. Копирование файлов в каталог bin apache исправило это. - person CertifiedGeek; 09.09.2015

У вас есть три варианта:

1). Не используйте CakePHP.

2). Не используйте этот хост.

3). Напишите класс совместимости, охватывающий все аспекты php-intl, которые используются таким образом, чтобы соответствовать ограничениям вашего хоста.

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

Следовательно, без этого расширения вы не можете использовать Cake-PHP — и единственным другим вариантом было бы написать свой собственный класс совместимости — что, поскольку это было бы огромным PITA — я включил это только для того, чтобы подчеркнуть, что вы должны учитывать только другие два варианта.

person rm-vanda    schedule 02.01.2015
comment
что это за предложение, не называя никаких подробностей, почему? - person user1767754; 19.09.2015

CakePHP 3 не работает без него, требуется расширение Intl, посмотрите кулинарную книгу: http://book.cakephp.org/3.0/en/installation.html#requirements

person kicaj    schedule 02.01.2015

Да, вам нужен INTL для запуска cakephp 3.

Вы можете попробовать следующее:

http://coolestguidesontheplanet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain-lion/

Затем измените путь в php.ini, например

extension_dir = "/usr/local/php5-5.4.32-20140828-070730/lib/php/extensions/no-debug-non-zts-20100525"

расширение = mcrypt.so

расширение = intl.so

person Invincible    schedule 09.01.2015

Просто откройте файл php.ini и посмотрите ниже этой строки: [ExtensionList].

Вы должны увидеть эту строку: extension=php_intl.dll. если нет, то добавьте :)

person Leo Chau    schedule 29.03.2015
comment
ОП упомянул, что они не могут установить или включить php_intl.dll. - person Nathan Tuggy; 29.03.2015
comment
1. ext_intl требуется для cakePHP 2. если вы используете PHP 5.3 или выше, php_intl.dll существует в папке установки php. 3. проверьте файл php.ini, чтобы убедиться, что в нем есть строка: extension=php_intl.dll. - person Leo Chau; 29.03.2015

если у вас есть образ bitnami mamp (для Mac OS), раскомментируйте строку php_intl.so в php.ini вместо php_intl.dll

person ChicagoSky    schedule 15.06.2015

Решение

  1. Откройте /xampp/php/php.ini
  2. Измените ;extension=php_intl.dll на extension=php_intl.dll (уберите точку с запятой)
  3. запустить обновление композитора
person eibu hurara    schedule 08.04.2015