2014-01-08 6 views
4

У меня проблема, идентичная this one, но предоставленное там решение не работает для меня.Проблемы с установкой Symfony 2.4.1 lib-icu 4.4 зависимость

Я загрузил Symfony 2.4.1 Standard Vendors с пакетом поставщиков от the Symfony Downloads Page. После извлечения файлов и загрузки composer.phar, я бег php composer.phar install и получаю эту ошибку:

Loading composer repositories with package information 
Installing dependencies (including require-dev) from lock file 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - symfony/icu v1.2.0 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it. 
    - symfony/icu v1.2.0 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it. 
    - Installation request for symfony/icu v1.2.0 -> satisfiable by symfony/icu[v1.2.0]. 

Следуя инструкции на нити, связанную с выше, я обновил библиотеку PEAR и сделал sudo pear install pecl/intl. (Это на CentOS, поэтому я не следил за материалом MAMP). Это не сработало, и я понял, что должен был сделать sudo yum install libicu. После этого sudo pear install pecl/intl работал, и я редактировал php.ini, чтобы добавить строку extension=intl.so, а затем перезапустил сервер Apache.

Но я все еще получаю ту же ошибку, как описано выше, и кроме того, в любое время я бегу PHP это дает предупреждение:

PHP Warning: Module 'intl' already loaded in Unknown on line 0 

Глядя на выходе phpinfo() я вижу, что установленная версия аэроропорт составляет 1.1.0, а версия ICU - 4.2.1 (что объясняет, почему Symfony жалуется, что ей требуется 4.4). Но когда я /usr/bin/pecl install intl это говорит

pecl/intl is already installed and is the same as the released version 3.0.0 

И sudo yum install libicu должен быть установлен последнюю версию.

Есть ли способ получить версию 4.4?

ответ

9

Для вашей конкретной ситуации, вы должны указать в файле composer.json, который вы хотите использовать «Symfony/ICU»: «1.1 *»

Смотрите «ICU и Deployment Problems "на этой странице: http://symfony.com/doc/current/components/intl.html

+0

Спасибо, эта страница помогла. –

0

редактируется неправильный файл php.ini

запустить эту команду в консоли:

php -i | grep php.ini

Configuration File (php.ini) Path => /etc/php5/cli 
Loaded Configuration File => /etc/php5/cli/php.ini 

редактировать этот файл. (Это файл PHP кли)

+0

Нет каталога'/etc/php5'. Существует '/ etc/php.ini' (файл, который я редактировал) и каталог'/etc/php.d', который содержит эти файлы: 'curl.ini fileinfo.ini json.ini mysqli.ini pdo.ini pdo_sqlite. ini sqlite3.ini xmlreader.ini xsl.ini dom.ini intl.ini mbstring.ini mysql.ini pdo_mysql.ini phar.ini wddx.ini xmlwriter.ini zip.ini' Команда, которую вы сказали запустить, дает следующее: 'Файл конфигурации (php.ini) Путь =>/etc Загруженный файл конфигурации =>/etc/php.ini' –

Смежные вопросы