ติดตั้ง PHP 5.5 บน CentOS 6

บทความนี้จะอธิบายการติดตั้ง PHP 5.5 จาก repo ของ webtatic.com

ติดตั้ง repo ของ webtatic.com สำหรับ CentOS 6

[root@cent6-php ~]# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
Retrieving http://mirror.webtatic.com/yum/el6/latest.rpm
warning: /var/tmp/rpm-tmp.xZFIVw: Header V4 DSA/SHA1 Signature, key ID cf4c4ff9: NOKEY
Preparing… ########################################### [100%]
1:webtatic-release ########################################### [100%]
ดูรายชื่อ repo หลังการติดตั้ง repo ของ webtatic

[root@cent6-php ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.skyshe.cn
* updates: mirrors.skyshe.cn
* webtatic: uk.repo.webtatic.com
repo id repo name status
base CentOS-6 – Base 6,518
extras CentOS-6 – Extras 36
updates CentOS-6 – Updates 530
webtatic Webtatic Repository EL6 – x86_64 381
repolist: 7,465
ตัวอย่างการใช้คำสั่ง yum list เพื่อแสดงรายชื่อแพ็คเกจ rpm ของ PHP เวอร์ชั่น 5.5

[root@cent6-php ~]# yum list | grep php55
php55w.x86_64 5.5.20-1.w6 webtatic
php55w-bcmath.x86_64 5.5.20-1.w6 webtatic
php55w-cli.x86_64 5.5.20-1.w6 webtatic
php55w-common.x86_64 5.5.20-1.w6 webtatic

สังเกตว่าแพ็คเกจ rpm ที่มาจาก webtatic จะมีตัวอักษร w อยู่หลังชื่อด้วย

 

ใช้คำสั่ง yum install ติดตั้ง php55w

 

[root@cent6-php ~]# yum install php55w
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.btte.net
* updates: mirrors.aliyun.com
* webtatic: uk.repo.webtatic.com
Resolving Dependencies
–> Running transaction check
—> Package php55w.x86_64 0:5.5.20-1.w6 will be installed
–> Processing Dependency: php55w-common(x86-64) = 5.5.20-1.w6 for package: php55w-5.5.20-1.w6.x86_64
–> Processing Dependency: php55w-cli(x86-64) = 5.5.20-1.w6 for package: php55w-5.5.20-1.w6.x86_64
–> Processing Dependency: php55w-cli = 5.5.20-1.w6 for package: php55w-5.5.20-1.w6.x86_64
–> Running transaction check
—> Package php55w-cli.x86_64 0:5.5.20-1.w6 will be installed
—> Package php55w-common.x86_64 0:5.5.20-1.w6 will be installed
–> Processing Conflict: php55w-common-5.5.20-1.w6.x86_64 conflicts php-common < 5.5.0 –> Finished Dependency Resolution
Error: php55w-common conflicts with php-common-5.3.3-40.el6_6.x86_64
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
ขึ้นข้อความ Error ไม่สามารถติดตั้งได้ เพราะไปซ้ำซ้อนกับแพ็คเกจที่ติดตั้งอยู่แล้วคือ php-common (แพ็คเกจที่มากับ CentOS 6)

 

ต้องลบแพ็คเกจเดิมก่อน

ใช้คำสั่ง rpm ดูแพ็คเกจ php ที่ติดตั้งอยู่แล้ว

[root@cent6-php ~]# rpm -qa | grep php
php-common-5.3.3-40.el6_6.x86_64
php-cli-5.3.3-40.el6_6.x86_64
php-5.3.3-40.el6_6.x86_64
ใช้คำสั่ง rpm -e เพื่อลบการติดตั้งแพ็คเกจ

[root@cent6-php ~]# rpm -e php-common php-cli php
ลอง yum ติดตั้ง php55w อีกครั้ง

[root@cent6-php ~]# yum install php55w

Installed:
php55w.x86_64 0:5.5.20-1.w6

Dependency Installed:
php55w-cli.x86_64 0:5.5.20-1.w6 php55w-common.x86_64 0:5.5.20-1.w6

Complete!
ดูแพ็คเกจ php ที่ได้จากการติดตั้ง

[root@cent6-php ~]# rpm -qa | grep php
php55w-common-5.5.20-1.w6.x86_64
php55w-5.5.20-1.w6.x86_64
php55w-cli-5.5.20-1.w6.x86_64
เวอร์ชั่น php ที่ได้จากการติดตั้งจาก webtatic.com

[root@cent6-php ~]# php -v
PHP 5.5.20 (cli) (built: Dec 20 2014 15:46:42)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
เท่านี้เราก็ได้ใช้ php เวอร์ชั่น 5.5 แล้ว

ข้อมูลอ้างอิง

Webtatic.com
Webtatic Yum Repository