[CentOS,PHP] ประสบการณ์อัพเดท PHP 5.1 ไปเป็น PHP 5.3

ขออนุญาตรวบรัดเลยก็แล้วกันนะครับ

คำสั่งต่างๆ ที่น่าจะได้ใช้

คำสั่งแตกไฟล์
tar xvf somefile.tar.gz

คำสั่ง ติดตั้ง .rpm
rpm -ivh .rpm.file-name

กรณีที่เกิดการ conflict ให้ใช้ --replacefiles
rpm -ivh --replacefiles .rpm.file-name

Apache

ดาวโหลด Apache 2.2
http://mirror.cogentco.com/pub/apache//httpd/httpd-2.2.29.tar.gz

คู่มือการ make
http://httpd.apache.org/docs/2.2/install.html#requirements
ดูตรงหัวข้อ To build Apache HTTPd against a manually installed apr/apr-util

PHP

อัพเดท libmysqlclient15 ป้องกันการเกิด configure: error: Cannot find MySQL header files .rpm ตัวอื่นๆ หาได้ในเว็บนี้
http://www.rpmfind.net

ของแถม MySQL

mysql-5.0.95-5.el5_9.i386.rpm
ftp://195.220.108.108/linux/centos/5.11/os/i386/CentOS/mysql-5.0.95-5.el5_9.i386.rpm

mysql-devel-5.0.95-5.el5_9.i386.rpm
ftp://195.220.108.108/linux/centos/5.11/os/i386/CentOS/mysql-devel-5.0.95-5.el5_9.i386.rpm

โหลด php5.3
http://museum.php.net/php5/php-5.3.29.tar.gz

Q: ทำไมไม่ใช้ 5.6 ไปเลย
A: ยังมีปัญหาที่ไม่ได้แก้บางจุดกับ apache ทำให้ใช้ได้กับ php 5.3 ไปก่อน Apache ยังเป็น 2.2 ครับ บวกกับ PHP Env บางจุดใช้ได้สูงสุดกับ PHP 5.3 ก็เลยต้องใช้ไปก่อนเช่น Global variable

ติดตั้ง
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-pdo-mysql --with-curl --with-openssl --with-pear --with-gd
$ make
$ make install

ถ้ากรณีที่ตั้ง prefix ไม่ตรงกันให้ก๊อบเองเลยนะครับมันจะอยู่ใน libs/libphp5.so
เซ็ตค่า php.ini (ดูตามความเหมาะสม ด้านล่างนี้ มันเกี่ยวกับงานราชการอ่านะเลยต้องโน้ตเอาไว้หน่อย)
short_open_tag = On
register_globals = On
date.timezone = "Asia/Bangkok"
default_charset = "TIS-620"

เท่าที่ลองกับโค้ดชุดเท่าที่มีการใช้ <? หรือ <?if หรือ <? blah และ <?= ถือว่าผ่าน

สุดท้ายอย่าลืม restart Apache
$ service httpd restart

เพิ่มเติม
# รัน Apache ได้แต่อ่าน PHP ไม่ได้(มันจะขึ้นเป็น String) ให้เข้าไปเช็กดูใน /etc/httpd/conf/httpd.conf
# ว่ามีพวกนี้แล้วรึยัง
LoadModule php5_module modules/libphp5.so
AddType x-httpd-php .php
AddHandler php5-script .php

Ref.
http://php.net/manual/en/install.unix.apache2.php

Comments