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
Имаше дискусия относно intl в github: github.com/cakephp/cakephp/issues/5356   -  person Daniel Castro    schedule 04.01.2015


Отговори (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{version}, да копирате всички файлове, които изглеждат като 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. Не можах да разбера защо не работи, тъй като е активирано по подразбиране. Копирането на файловете в директорията на apache bin го поправи. - 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
OP спомена, че не могат да инсталират или активират 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 mapp изображение (за 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