程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Linux PHP5.3升級PHP5.5.33,php5.3php5.5.33

Linux PHP5.3升級PHP5.5.33,php5.3php5.5.33

編輯:關於PHP編程

Linux PHP5.3升級PHP5.5.33,php5.3php5.5.33


由於要使用了laravel5.1,php要升級到5.5以上。具體環境是Aliyun Cent OS 7.0。由於阿裡的yum源lastest只有5.4,laravel5.1必須php5.5,加了幾個網上的yum源,各種各樣的問題,所以只能麻煩的編譯安裝了。

首先網上這類的文章非常多,每個人的升級目的,要升級的組件都不完全一樣。最好的說明文檔還是官方安裝文檔,如果php官網的安裝失敗,再去搜索相關問題。我最終靠的是官網上Apache 2.x on Unix systems這篇文檔。

1.下載

http://php.net/downloads.php

1 wget http://cn2.php.net/get/php-5.5.33.tar.gz/from/this/mirror
2 #下載完改一下名字
3 mv mirror php-5.5.33.tar.gz
4 tar -zxf php-5.5.33.tar.gz php-5.5.33
5 cd php-5.5.33

2.編譯安裝

#這一步出錯了#############################
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
#這一步出錯率#############################

我在--with-apxs2=/usr/local/apache2/bin/apxs這一步出了問題,去掉這個參數即使安裝也是不行,這個參數編譯出libphp5.so並用在httpd.conf中,find / -name apxs2搜不到結果。我找了很久,發現是我的apache有問題,不知道為什麼5.3的時候沒有這個問題(不管了)。

yum install httpd-devel

雖然apxs2還是沒有,但能找到apxs了:

1 find / -name apxs2
2 find / -name apxs
3 /usr/bin/apxs

接下來幾步一點點來,比較耗時:

1 ./configure --with-apxs2=/usr/bin/apxs --with-mysql
2 make
3 make install

#之後發現單獨編譯pdo_mysql擴展有問題,換了這句重新編譯
#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/bin/apxs

得到類似結果為安裝成功:

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20121212/
...
...
...
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
/usr/local/src/php-5.5.33/build/shtool install -c ext/phar/phar.phar /usr/local/bin
ln -s -f phar.phar /usr/local/bin/phar
Installing PDO headers:          /usr/local/include/php/ext/pdo/

3.配置

復制php.ini

#這個位置一定不能錯,編譯.configure的時候我沒有制定php.ini的位置,默認就是這裡,
#如果跳過這一步,後面不會出問題,但是你將來該php.ini,比如安裝擴展什麼的,去修改/etc/php.ini(你原來的)的話都是無效的。
cp php.ini-development /usr/local/lib/php.ini
#這裡我建議把原來的php.ini改掉,這樣不會影響以後的find
#你的原來不一定是這裡,建議find一下
mv /etc/php.ini /etc/php.ini.back

修改httpd.conf

find / -name httpd.conf
vi /etc/httpd/conf/httpd.conf
#加入這兩句(310行左右)
AddType application/x-httpd-php .php .php3 .phtml .inc
AddType application/x-httpd-php-source .phps
#可能是升級的原因,這一句我本來就有,沒有要加(50行左右)
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so

重啟apache:

service httpd restart

測試一下:

php -v

新建一個phpinfo.php訪問一下:

<?php
echo phpinfo();

結果完美:

 

可以需要安裝一些依賴,如gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap,這些就交給yum吧。

 

dreamingodd原創文章,如轉載請注明出處。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved