Заметка: У меня есть приложение, для которого требуется версия 5.2, но на моем сервере сейчас используется версия 5.1.6.
Я новичок в администрировании серверов, но думал, что задача обновления PHP до версии 5.2+ должна быть относительно простой. В сети я обнаружил, что для этого предположительно достаточно:
yum update php
Но когда я запускаю это, выводится следующее:
[root@ip-XXX-XXX-XXX-XXX /]# php -v PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies [root@ip-XXX-XXX-XXX-XXX /]# yum update php Loaded plugins: fastestmirror Determining fastest mirrors * addons: p3plmirror02.prod.phx3.secureserver.net * base: p3plmirror02.prod.phx3.secureserver.net * extras: p3plmirror02.prod.phx3.secureserver.net * turbopanel-base: p3plmirror02.prod.phx3.secureserver.net * turbopanel-centos5: p3plmirror02.prod.phx3.secureserver.net * update: p3plmirror02.prod.phx3.secureserver.net addons | 951 B 00:00 addons/primary | 201 B 00:00 base | 2.1 kB 00:00 base/primary_db | 1.6 MB 00:00 extras | 1.1 kB 00:00 extras/primary | 107 kB 00:00 extras 325/325 turbopanel-base | 951 B 00:00 turbopanel-base/primary | 72 kB 00:00 turbopanel-base 494/494 turbopanel-centos5 | 951 B 00:00 turbopanel-centos5/primary | 2.1 kB 00:00 turbopanel-centos5 8/8 update | 1.9 kB 00:00 update/primary_db | 463 kB 00:00 Setting up Update Process No Packages marked for Update [root@ip-XXX-XXX-XXX-XXX /]# php -v PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technolog [root@ip-XXX-XXX-XXX-XXX /]# No Packages marked for Update [root@ip-XXX-XXX-XXX-XXX /]# php -v bash: No: command not found [root@ip-XXX-XXX-XXX-XXX /]# [root@ip-XXX-XXX-XXX-XXX /]# php -v bash: [root@ip-XXX-XXX-XXX-XXX: command not found [root@ip-XXX-XXX-XXX-XXX /]# PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05) bash: syntax error near unexpected token `(' [root@ip-XXX-XXX-XXX-XXX /]# Copyright (c) 1997-2006 The PHP Group bash: syntax error near unexpected token `c' [root@ip-XXX-XXX-XXX-XXX /]# Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies bash: syntax error near unexpected token `(' [root@ip-XXX-XXX-XXX-XXX /]#
Моя версия PHP - 5.1.6 до и после выполнения команды. Я слишком наивен с этим процессом обновления? Есть ли более подробный маршрут, который мне необходимо выбрать?
Вы пытаетесь обновить пакет, предоставленный дистрибутивом. Часто дистрибутивы не изменяют версию, а исправляют безопасность резервного копирования, что делается для поддержания более стабильной среды. Поскольку основные изменения версии могут повлиять на работу программного обеспечения, они обычно будут вноситься только между основными версиями дистрибутива.
Если вы хотите запустить последнюю версию PHP, вам, вероятно, придется создать свой собственный пакет, найти сторонний пакет или скомпилировать из исходного кода, создав свой собственный стандарт сборки.
Основываясь на предоставленных результатах, разумно предположить, что вы используете последнюю версию PHP, доступную для текущего дистрибутива, который вы используете.
Похоже, что в вики CentOS есть прохождение для обновления до 5.2 с помощью репозитория разработки.
Нет, вы не делаете ничего плохого, просто 5.1.6 - это последний доступный пакет - по крайней мере, в репозиториях CentOS. Вы можете сделать yum info php
чтобы получить более подробную информацию, в том числе номер версии в репозиториях.