Symfony 2: установка и включение внутреннего расширения

Я использую XAMPP for Windows и решил попробовать Symfony 2.

Как только я попаду на страницу Symfony Configuration, я рекомендую установить и включить intl.

Я пробовал читать руководства PEAR's и PECL's, так как я полностью 0 в этой теме (недавно начал обучение PHP), но ничего не получилось.

Я нашел php_intl.dll внутри my C:\xamp\php\ext. Для параметра php.ini extension_dir= установлено значение "C:\xampp\php\ext". Мне не хватало extension=php_intl.dll внутри php.ini, поэтому я добавил его.

К сожалению, это не сработало, и Symfony продолжает спрашивать меня о intl.

Ответ 1

http://php.net/manual/en/intl.requirements.php

Это расширение связано с PHP с PHP версии 5.3.0. В качестве альтернативы, версия PECL этого расширения может использоваться со всеми PHP версии более 5.2.0 (рекомендуется 5.2.4+).

также прочитал мой комментарий к вашему сообщению выше

Ответ 2

Всякий раз, когда вы вносите изменения в php.ini, не забудьте перезапустить Apache. В противном случае изменения не вступят в силу. Вы можете сделать это в XAMPP Control Panel, нажав кнопку stop/start в строке модуля Apache.

Ответ 3

Для пользователей Linux: Установка php5-intl заставила его работать для меня

sudo apt-get install php5-intl

найдено здесь: http://www.php.net/manual/en/intl.setup.php

Ответ 4

Выполните следующие действия:

  • Скопируйте все имена файлов, начиная с " icu" из C:\wamp\bin\php\php5.5.12 и вставьте в C:\wamp\bin\apache\apache2.4.9\bin (Я использую WAMP. Постройте его для XAMP.)

Вы можете попробовать. Ничто не повредит. Если вы чувствуете, что все не работает, вы можете удалить их. Я уверен, что он будет работать для вас на 100%.

  1. Раскомментируйте следующую строку в C:\wamp\bin\apache\apache2.4.9\bin\php.ini

    extension=php_intl.dll
    

Он будет работать.

Ответ 5

Для пользователей OS X:

1. Нормально, PHP автоматически устанавливается на OSX. Итак, если вы хотите использовать XAMPP или любой сервер Apache, вы должны изменить точку пути на XAMPP. Вы можете проверить путь, используя:

$ which php

(не копируйте знак $, это означает, что вы должны ввести это в Terminal, а не php)

Вы должны получить: /Applications/XAMPP/xamppfiles/bin/php,

Если нет, вы получите /usr/bin/php.

Это OSX 'php. Итак, вы должны изменить его на php XAMPP, используя:

$ PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}"

2. Запустите эту команду, чтобы загрузить, распаковать, скомпилировать и установить ICU (вы можете выбрать другую версию - это ваш Symfony):

$ curl -sS -o /tmp/icu.tar.gz -L http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz && tar -zxf /tmp/icu.tar.gz -C /tmp && cd /tmp/icu/source && ./configure --prefix=/usr/local && make && sudo make install

чем run:

$ sudo pecl install intl

и укажите, где можно найти библиотеки и заголовки ICU [DEFAULT]:

/usr/local

Обратите внимание на информацию в отчете об установке:

You should add "extension=intl.so" to php.ini

Не забудьте перезагрузить Apache и проверить версию:

<?php
if (extension_loaded('intl')) {
    echo "PHP: " . PHP_VERSION . "<br>\n";
    echo "ICU: " . INTL_ICU_VERSION . "<br>\n";
} else {
    die('OOPS! The intl extension is not enabled!');
}

Частично взят отсюда, но изменен, чтобы получить успех Установить расширение интернационализации PHP (Intl) на XAMPP на Mac

Ответ 6

Чтобы активировать это расширение в Xampp, просто отредактируйте свой php.ini(т.е. в каталоге C:\xampp\php) и удалите точку с запятой, чтобы раскомментировать эту строку:

;extension=php_intl.dll

В конце концов не забудьте перезапустить Apache!

Ответ 7

Чтобы решить эту проблему, перейдите к "c:\xampp\php\php.ini", откройте его в своем редакторе и найдите Dynamic Extensions, затем откройте поиск; extension = php_intl.dll и включите его (удалить; ) extension = php_intl.dll после этого сохраните файл php.ini и перезапустите localhost