第一步:
如果伺服器是32位,那麼運行如下命令
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
如果伺服器是64為,那麼運行如下命令
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
第二步:開啟remi庫
vim /etc/yum.repos.d/remi.repo
如果只想升級到php5.4.x,那麼就把[remi]部分的enabled改為1;如果想升級到php5.5.x,那麼就把[remi]和[remi-php55]部分的enabled都改為1
第三步:yum更新php,運行命令
yum update -y
第四步:檢查更新後的版本
php -v
其實,在這一步,沒有這麼順利啦,檢查版本的時候報錯了,一個是redis的,一個是apc.so的,redis的錯誤是需要升級redis,apc.so也需要升級,但後來發現apc不支援php5.5.x,於是停用apc。下面介紹一下redis如何升級。
redis升級到3.0.3
1. kill掉正在啟動並執行redis-server進程。
2. 可以把原來的/etc/redis/redis.conf複製到其他的地方作備份。
3. 把啟動redis的bin檔案下的redis-(應該是5個)檔案都刪掉。
4. 去官方網站wget http://download.redis.io/releases/redis-3.0.3.tar.gz
5. 解壓檔案,然後cd到該檔案中,make,當然之後必須要make test,如果在此時提示You need tcl 8.5 or newer in order to run the Redis test make: *** [test] Error 1。那麼yum install tcl,安裝完後再運行make test,提示沒有錯誤即可。
6. make install
7. 更改redis.conf的damone為yes複製redis的.conf檔案到/etc/redis
8. 在/usr/local/下,啟動/usr/local/bin/redis-server /etc/redis/redis.conf
下面就是查看網站是否正常運行,提示串連不上資料庫,發現mysql非正常關閉了,這可能是更新php過程中導致的。解決過程:
1. 重啟mysql
/etc/init.d/mysqld restart
發現啟動不了。經檢查已經沒有在啟動並執行mysql進程,於是查看mysql日誌。
2. 查看mysql日誌
vim /var/log/mysqld.log
發現主要有兩個原因造成:一個是InnoDBb memory heap被disable了,這個應該是因為升級php過程造成mysql非正常關閉了,導致啟動的時候有問題。
到mysql目錄下
cd /var/lib/mysql
把ib_logfile0 和ib_logfile1兩個檔案刪掉即可
另一個原因是設定檔中的default-character-set=utf8識別不了,把/etc/my.cnf設定檔中的這個參數換為character_set_server=utf8即可(無法識別character_set_server=utf8)就不要去理會!
【cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷貝設定檔(注意:如果/etc目錄下面預設有一個my.cnf,直接覆蓋即可)】
修改完這兩處錯誤之後,重啟mysql
/etc/init.d/mysqld restart
啟動ok!