Как обновить PHP и установить библиотеку ICU на CentOS 6.x

Я пытаюсь установить orocrm на сервер centos, и он запрашивает PHP 5.4 и библиотеку ICU 4.4. Хотя я обновил PHP и перезапустил Apache, моя версия php все еще показывает PHP 5.3 при выводе phpinfo на странице php. Но если я использую команду php -v, она показывает php 5.5

ini отображается /usr/local/lib/php.ini при использовании страницы php, но с помощью команды он показывает /etc/php.ini

пожалуйста помоги...


person aryan kumar    schedule 26.01.2014    source источник
comment
/usr/local/lib/php.ini, похоже, указывает на то, что кто-то установил PHP 5.3 путем компиляции из исходного кода, поэтому у вас установлены две версии   -  person michel-slm    schedule 26.01.2014
comment
Могу ли я обновить эту установку?   -  person aryan kumar    schedule 26.01.2014
comment
Вероятно, вам даже не нужно устанавливать ручную установку. Выясните, как он был установлен, и удалите его. В CentOS я обычно использую репозиторий IUS, поддерживаемый Rackspace, чтобы получить более современный стек LAMP.   -  person michel-slm    schedule 27.01.2014
comment
Ах, перечитав вопрос, я понял, что происходит. Отправка ответа   -  person michel-slm    schedule 27.01.2014


Ответы (2)


Скомпилированный вами PHP 5.4 не поддерживается Apache. Вместо того, чтобы выяснять, как указать Apache на эту установку, проще всего (и безопаснее, поскольку вы будете получать обновления безопасности) использовать репозиторий сообщества IUS

person michel-slm    schedule 26.01.2014
comment
@Gem, вы должны начать новый вопрос, пожалуйста, не просите меня отвечать на то, что я написал 4 года назад о том, что только косвенно связано - person michel-slm; 08.12.2018

У меня есть пара мыслей. Если вы используете CentOS, вы, вероятно, используете YUM в качестве диспетчера пакетов. С его помощью вы можете удалить PHP и добавить новый (если у вас нет активных клиентов, использующих его). Вы можете найти версию PHP yum, выполнив одно из следующих действий:

yum list
yum list installed

Если он регистрирует несколько версий, вы можете «yum remove $ package».

Если вы php -v показываете версию 5.5, ваш путь настроен на это. Вы можете увидеть это, набрав $ PATH из командной строки при входе по SSH. В вашем ~ / .bashrc (или ~ / .profile) вы можете отредактировать свой $ PATH, добавив что-то вроде:

export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

РЕДАКТИРОВАТЬ: Вы должны создать резервную копию своего PATH перед написанием нового и после его редактирования введите «source ~ / .bashrc» или «source ~ / .profile», чтобы командная строка увидела его.

Вы также можете напрямую отредактировать php в .bashrc, чтобы указать на правильную версию, установив псевдоним (если вы не исправите корень проблемы), например

alias php="/path/to/php"

Вы можете увидеть, где находится ваш текущий php, набрав:

which php

Ваше расширение PHP происходит из файла apache httpd.conf. Вы можете найти его где-нибудь вроде /etc/apache2/httpd.conf. Найдите «LoadModule» или «LoadModule php» и посмотрите, на какое расширение PHP указывает ваш apache. Возможно, он все еще указывает на неправильную версию.

Чтобы ответить на ваш вопрос об ICU, он исходит из расширения "intl". С yum это, вероятно, называется php-intl, php54-intl или php54w-intl. Вы можете сделать что-то вроде «yum search intl», и он должен дать вам точное имя расширения.

Надеюсь, это поможет!

person Thomas Bennett    schedule 26.01.2014