4

У меня есть интересная, хотя и приводящая в бешенство проблема с CentOS.

Я пытаюсь настроить этот сервер для запуска созданного мной сайта Symfony2. Веб-сайт не работает, и я связал проблему с некоторыми пакетами PHP на сервере 5.1, а некоторые из более новых пакетов - PHP 5.3. (Symfony2 требует PHP 5.3 для запуска).

Я использую следующую команду:

yum install php53u.x86_64

И я получаю эту ошибку:

Ошибка: php53-common конфликтует с php-common

Хотя он говорит, что установлен.

В любом случае, я использую yum info php и он говорит мне, что версия PHP, установленная на сервере, все еще 5.1.6. Я использую yum remove php , думая, что если я удаляю все следы старой установки PHP, я могу установить 5.3 заново, я получаю следующую ошибку:

Нет соответствия для аргумента PHP.

Что я делаю неправильно?

3 ответа3

2

Удалось исправить проблему.

Использование rpm -qa | grep php предложенный reflexiv , вернет только:

php53-синфазного 5.3.3-1.el5_7.6

Как единственный установленный пакет. Я удалил этот пакет, а затем установил PHP с помощью следующей команды:

yum install php53 php53-cli php53-common php53-gd php53-imap php53-intl php53-mbstring php53-mysql php53-odbc php53-pdo php53-pspell php53-snmp php53-xml php53-xmlrpc php-php dep

Установка этого не выявила никаких ошибок. Я перезапустил Apache и протестировал сервер с установкой Symfony2 и phpinfo(); , Оба они работали, и сервер теперь готов к полету!

Спасибо reflexiv за помощь.

1

Чтобы увидеть, какие пакеты PHP установлены: rpm -qa | grep php

Похоже, вы уже используете репозитории http://iuscommunity.org . У них есть хороший инструмент, чтобы помочь обновить группу пакетов, таких как PHP:

yum install yum-plugin-replace
yum replace php --replace-with php53

Это автоматически удалит все основные пакеты PHP и установит последнюю версию из IUS. См. Http://iuscommunity.org/Docs/ClientUsageGuide#Upgrading_Stock_RHEL_Packages_to_IUS_Packages для получения дополнительной информации.

0

Самый простой способ обновить PHP с более старой версии 5.1.x до 5.3.x, и этот метод называется «Метод NASHOT».

  1. Перейдите в режим графического интерфейса пользователя (предпочтительно X-Windows для рабочего стола Gnome), а затем в раздел "Установка и удаление программного обеспечения" (Диспетчер пакетов).

  2. Нажмите Search TAB и введите строку поиска как php, установите переключатель в положение "Installed Packages" и нажмите кнопку Search.

  3. Результат поиска покажет существующие модули php с отмеченными флажками в начале. Это что-то вроде этого:

    [/] php-5.1.x.....
    [/] php-common-5.1.x......
    [/] php-cli-5.1.x......
    [/] php-ldap-5.1.x......
    Etc...Etc...
    
  4. Теперь снимите флажки со всех строк результата и нажмите кнопку "Применить". Это удалит существующие модули версии PHP.

  5. Внутри "Диспетчер пакетов" нажмите на вкладку "Поиск" и введите строку поиска как php53 . Установите переключатель "Все пакеты" и нажмите кнопку "Поиск".

  6. Поиск показывает много строк результатов, связанных с новой версией PHP 5.3.x, с галочкой перед каждой строкой.

  7. Теперь отметьте галочкой все появившиеся строки и нажмите кнопку "Применить".

Теперь "Диспетчер пакетов" начнет проверять наличие модулей зависимостей для выбранных модулей PHP и загружает новые модули пакета PHP 5.3.x. Затем он устанавливается автоматически.

Теперь перезагрузите систему и проверьте версию PHP с помощью php -v . Результат должен быть PHP 5.3.x.

Обратите внимание: если ваша установка останавливается на "Проверка зависимости", проверьте наличие «PHP53-odbc64-5.3.x .....». На самом деле есть 2 пакета ODBC. Каждый предназначен для 32-битной и 64-битной версии вашей ОС. Поэтому выберите только один пакет ODBC, который совместим с вашей ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .