Upgrading php5.1 to php5.3 on CENTOS 4
I needed to update the php version of a centos 4 box, so this is what I did:
I’ve decided to go for the easy way, using the remi repo, so first I’ve Downloaded the Extra Packages for Enterprise Linux (EPEL)
[root@box php5.3]# wget http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm --13:08:07-- http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm => `epel-release-4-9.noarch.rpm'Resolving download.fedora.redhat.com... 209.132.183.67Connecting to download.fedora.redhat.com|209.132.183.67|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 13,686 (13K) [application/x-rpm]100%[=================================================================================>] 13,686 --.--K/s 13:08:08 (405.60 KB/s) - `epel-release-4-9.noarch.rpm' saved [13686/13686]
Then the remi repo:
[root@box php5.3]# wget http://rpms.famillecollet.com/enterprise/remi-release-4.rpm --13:08:21-- http://rpms.famillecollet.com/enterprise/remi-release-4.rpm => `remi-release-4.rpm'Resolving rpms.famillecollet.com... 88.191.60.189Connecting to rpms.famillecollet.com|88.191.60.189|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 5,120 (5.0K) [application/x-rpm]100%[=================================================================================>] 5,120 32.45K/s 13:08:22 (32.41 KB/s) - `remi-release-4.rpm' saved [5120/5120]
Then I’ve upgraded both repos:
[root@box php5.3]# rpm -Uvh remi-release-4*.rpm epel-release-4*.rpm warning: remi-release-4.rpm: V3 DSA signature: NOKEY, key ID 00f97f56warning: epel-release-4-9.noarch.rpm: V3 DSA signature: NOKEY, key ID 217521f6Preparing... ########################################### [100%] 1:epel-release ########################################### [ 50%] 2:remi-release ########################################### [100%]
and after that I downloaded the remi repo file for Yum:
[root@box php5.3]# cd /etc/yum.repos.d/ [root@box yum.repos.d]# wget http://rpms.famillecollet.com/remi-enterprise.repo --13:09:28-- http://rpms.famillecollet.com/remi-enterprise.repo => `remi-enterprise.repo'Resolving rpms.famillecollet.com... 88.191.60.189Connecting to rpms.famillecollet.com|88.191.60.189|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 793 [text/plain]100%[=================================================================================>] 793 --.--K/s 13:09:28 (50.42 MB/s) - `remi-enterprise.repo' saved [793/793]
After that I just told yum to upgrade php:
[root@box yum.repos.d]# yum --enable remi update php Repository remi is listed more than once in the configuration Repository remi-test is listed more than once in the configuration Setting up Update Process Setting up repositories epel 100% |=========================| 3.4 kB 00:00 remi 100% |=========================| 2.6 kB 00:00 Reading repository metadata in from local files 357f538e0bf37d10983cd3b22 100% |=========================| 732 kB 00:06epel : ################################################## 2267/2267 e849a85ae6e8f1b8e5e71c08b 100% |=========================| 128 kB 00:03remi : ################################################## 444/444 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for php to pack into transaction set. php-5.3.2-1.el4.remi.x86_ 100% |=========================| 19 kB 00:00 ---> Package php.x86_64 0:5.3.2-1.el4.remi set to be updated--> Running transaction check --> Processing Dependency: php-common = 5.3.2-1.el4.remi for package: php --> Processing Dependency: php-cli = 5.3.2-1.el4.remi for package: php--> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for php-common to pack into transaction set. php-common-5.3.2-1.el4.re 100% |=========================| 25 kB 00:01 ---> Package php-common.x86_64 0:5.3.2-1.el4.remi set to be updated ---> Downloading header for php-cli to pack into transaction set. php-cli-5.3.2-1.el4.remi. 100% |=========================| 19 kB 00:01 ---> Package php-cli.x86_64 0:5.3.2-1.el4.remi set to be updated--> Running transaction check --> Processing Dependency: php-common = 5.1.6-3.el4s1.10 for package: php-mysql --> Processing Dependency: php-common = 5.1.6-3.el4s1.10 for package: php-xml --> Processing Dependency: php-common = 5.1.6-3.el4s1.10 for package: php-pdo --> Processing Dependency: libedit.so.0()(64bit) for package: php-cli--> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for php-xml to pack into transaction set. php-xml-5.3.2-1.el4.remi. 100% |=========================| 20 kB 00:00 ---> Package php-xml.x86_64 0:5.3.2-1.el4.remi set to be updated ---> Downloading header for libedit to pack into transaction set. libedit-20090923-3.0_1.el 100% |=========================| 5.8 kB 00:00 ---> Package libedit.x86_64 0:20090923-3.0_1.el4.rf set to be updated ---> Downloading header for php-pdo to pack into transaction set. php-pdo-5.3.2-1.el4.remi. 100% |=========================| 19 kB 00:00 ---> Package php-pdo.x86_64 0:5.3.2-1.el4.remi set to be updated ---> Downloading header for php-mysql to pack into transaction set. php-mysql-5.3.2-1.el4.rem 100% |=========================| 19 kB 00:00 ---> Package php-mysql.x86_64 0:5.3.2-1.el4.remi set to be updated--> Running transaction check --> Processing Dependency: libsqlite.so.0()(64bit) for package: php-pdo --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: php-mysql --> Processing Dependency: libmysqlclient.so.16()(64bit) for package: php-mysql--> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for sqlite2 to pack into transaction set. sqlite2-2.8.17-2.el4.remi 100% |=========================| 5.2 kB 00:00 ---> Package sqlite2.x86_64 0:2.8.17-2.el4.remi set to be updated ---> Downloading header for mysql-libs to pack into transaction set. mysql-libs-5.1.45-1.el4.r 100% |=========================| 24 kB 00:00 ---> Package mysql-libs.x86_64 0:5.1.45-1.el4.remi set to be updated--> Running transaction check --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: perl-DBD-MySQL --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: mysql-server --> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15)(64bit) for package: mysql-server --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: mysql-server --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: perl-DBD-MySQL --> Processing Dependency: mysql-libs = 5.0.82sp1-1.el4_8 for package: mysql --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: mysql --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: mysql --> Processing Dependency: libmysqlclient_r.so.15()(64bit) for package: mysql-server--> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysqlclient15 to pack into transaction set. mysqlclient15-5.0.67-1.el 100% |=========================| 3.9 kB 00:00 ---> Package mysqlclient15.x86_64 0:5.0.67-1.el4.remi set to be updated ---> Package perl-DBD-mysql.x86_64 0:4.013-1.el4.rf set to be updated ---> Downloading header for mysql to pack into transaction set. mysql-5.1.45-1.el4.remi.x 100% |=========================| 19 kB 00:00 ---> Package mysql.x86_64 0:5.1.45-1.el4.remi set to be updated ---> Downloading header for mysql-server to pack into transaction set. mysql-server-5.1.45-1.el4 100% |=========================| 27 kB 00:00 ---> Package mysql-server.x86_64 0:5.1.45-1.el4.remi set to be updated--> Running transaction check --> Processing Dependency: libmysqlclient.so.14(libmysqlclient_14)(64bit) for package: perl-DBD-mysql --> Processing Dependency: libmysqlclient.so.14()(64bit) for package: perl-DBD-mysql--> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysqlclient14 to pack into transaction set. mysqlclient14-4.1.22-1.el 100% |=========================| 5.5 kB 00:00 ---> Package mysqlclient14.x86_64 0:4.1.22-1.el4.remi set to be updated--> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: perl-DBD-mysql x86_64 4.013-1.el4.rf rpmforge 228 k replacing perl-DBD-MySQL.x86_64 4.008-1.el4s1 Updating: php x86_64 5.3.2-1.el4.remi remi 1.4 MInstalling for dependencies: libedit x86_64 20090923-3.0_1.el4.rf rpmforge 265 k mysqlclient14 x86_64 4.1.22-1.el4.remi remi 1.2 M mysqlclient15 x86_64 5.0.67-1.el4.remi remi 1.3 M sqlite2 x86_64 2.8.17-2.el4.remi remi 161 kUpdating for dependencies: mysql x86_64 5.1.45-1.el4.remi remi 1.0 M mysql-libs x86_64 5.1.45-1.el4.remi remi 1.7 M mysql-server x86_64 5.1.45-1.el4.remi remi 11 M php-cli x86_64 5.3.2-1.el4.remi remi 2.6 M php-common x86_64 5.3.2-1.el4.remi remi 963 k php-mysql x86_64 5.3.2-1.el4.remi remi 155 k php-pdo x86_64 5.3.2-1.el4.remi remi 177 k php-xml x86_64 5.3.2-1.el4.remi remi 232 k Transaction Summary ============================================================================= Install 5 Package(s) Update 9 Package(s) Remove 0 Package(s)Total download size: 22 M Is this ok [y/N]: y Downloading Packages: (1/14): php-xml-5.3.2-1.e 100% |=========================| 232 kB 00:04 (2/14): libedit-20090923- 100% |=========================| 265 kB 00:04 (3/14): php-common-5.3.2- 100% |=========================| 963 kB 00:15 (4/14): mysqlclient15-5.0 100% |=========================| 1.3 MB 00:23 (5/14): php-cli-5.3.2-1.e 100% |=========================| 2.6 MB 00:35 (6/14): perl-DBD-mysql-4. 100% |=========================| 228 kB 00:04 (7/14): php-pdo-5.3.2-1.e 100% |=========================| 177 kB 00:05 (8/14): mysql-5.1.45-1.el 100% |=========================| 1.0 MB 00:15 (9/14): sqlite2-2.8.17-2. 100% |=========================| 161 kB 00:05 (10/14): mysqlclient14-4. 100% |=========================| 1.2 MB 00:15 (11/14): mysql-server-5.1 100% |=========================| 11 MB 01:59 (12/14): php-5.3.2-1.el4. 100% |=========================| 1.4 MB 00:23 (13/14): mysql-libs-5.1.4 100% |=========================| 1.7 MB 00:23 (14/14): php-mysql-5.3.2- 100% |=========================| 155 kB 00:04 warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 00f97f56Public key for php-xml-5.3.2-1.el4.remi.x86_64.rpm is not installed Retrieving GPG key from http://rpms.famillecollet.com/RPM-GPG-KEY-remiImporting GPG key 0x00F97F56 "Remi Collet " Is this ok [y/N]: Key imported successfully warning: only V3 signatures can be verified, skipping V4 signature Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running TransactionWARNING : This php-* RPM are not official Fedora build andoverrides the official ones. Don't file bugs on Fedora Project.Use dedicated forums http://forums.famillecollet.com/Updating : php-common [ 1/24]warning: /etc/php.ini created as /etc/php.ini.rpmnewUpdating : php-common ####################### [ 1/24]Installing: mysqlclient15 ####################### [ 2/24]warning: only V3 signatures can be verified, skipping V4 signatureWARNING : This MySQL RPM is not an official Fedora build and it overrides the official one. Don't file bugs on Fedora Project. Use dedicated forums http://forums.famillecollet.com/ Updating : mysql-libs [ 3/24]warning: /etc/my.cnf created as /etc/my.cnf.rpmnewUpdating : mysql-libs ####################### [ 3/24]Updating : mysql ####################### [ 4/24]Installing: mysqlclient14 ####################### [ 5/24]Installing: sqlite2 ####################### [ 6/24]Updating : php-pdo ####################### [ 7/24]Installing: libedit ####################### [ 8/24]Updating : php-cli ####################### [ 9/24]Updating : php ####################### [10/24]Updating : php-mysql ####################### [11/24]Updating : php-xml ####################### [12/24]Installing: perl-DBD-mysql ####################### [13/24]Updating : mysql-server ####################### [14/24]Cleanup : php-xml ####################### [15/24]Cleanup : php-common ####################### [16/24]Cleanup : php-cli ####################### [17/24]Removing : perl-DBD-MySQL ####################### [18/24]Cleanup : php-pdo ####################### [19/24]Cleanup : mysql ####################### [20/24]Cleanup : mysql-server ####################### [21/24]Cleanup : php ####################### [22/24]Cleanup : mysql-libs ####################### [23/24]Cleanup : php-mysql ####################### [24/24] Installed: perl-DBD-mysql.x86_64 0:4.013-1.el4.rf Dependency Installed: libedit.x86_64 0:20090923-3.0_1.el4.rf mysqlclient14.x86_64 0:4.1.22-1.el4.remi mysqlclient15.x86_64 0:5.0.67-1.el4.remi sqlite2.x86_64 0:2.8.17-2.el4.remiUpdated: php.x86_64 0:5.3.2-1.el4.remi Dependency Updated: mysql.x86_64 0:5.1.45-1.el4.remi mysql-libs.x86_64 0:5.1.45-1.el4.remi mysql-server.x86_64 0:5.1.45-1.el4.remi php-cli.x86_64 0:5.3.2-1.el4.remi php-common.x86_64 0:5.3.2-1.el4.remi php-mysql.x86_64 0:5.3.2-1.el4.remi php-pdo.x86_64 0:5.3.2-1.el4.remi php-xml.x86_64 0:5.3.2-1.el4.remi Replaced: perl-DBD-MySQL.x86_64 0:4.008-1.el4s1Complete!
When this was done, I just synced /etc/php.ini with the new one /etc/php.ini.rpmnew and /etc/my.cnf with /etc/my.cnf.rpmnew when this was done I just restarted mysql and apache and I php5.3 was now available.
Categories: Linux, configuration
hello
I can’t to upgrade php from 5.1 to 5.3 because my centos 4 have glibc 2.3 . How do you do for upgrade glibc 2.3 to >= 2.4 on centos 4?
this is the error
–> Processing Dependency: rtld(GNU_HASH) for package: libedit
–> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: libedit
–> Finished Dependency Resolution
Error: Missing Dependency: rtld(GNU_HASH) is needed by package libedit
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package libedit
I didn’t need to upgrade glibc, maybe you are trying to upgrade another package that depends on this, the version that is currently installed is glibc-2.3.4-2.43.el4_8.1
Hello Ivan,
Thank you for publishing the step to upgrade php. I am getting this error:
“Error: Missing Dependency: httpd-mmn = 20020903 is needed by package php”
When I try to update httpd it tells me it is not obsolete.
I’ll appreciate if you or someone else tell me how to fix this dependency!
Cheers,
Dmitry
Hello Dimitry,
I’m not sure about your error I think that you might have some apache mods installed, you might need to upgrade your apache installation first, check here for the rpm http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/httpd-mmn