centosphp升級54
A. 鍝浣嶅ぇ紲炲彲浠ュ府甯鎴戱紵centos6.5涓嬬紪璇戝畨瑁卲hp5.4.6鏃訛紝鎬諱細閬囧埌鍥句笅闂棰橈紝鎴戞槸鑿滈笩錛岄夯鐑︽寚鐐癸紝璋㈣阿錛
yun install perl
yum install php
yum install mysql
B. centos7系統Apache+php+mysql環境,怎麼升級PHP版本
yum install php php-devel
重啟apache使php生效
systemctl restart httpd.service
此時可以在目錄:/var/www/html/下建立一個PHP文件
代碼:
<?php phpinfo(); ?>
然後訪問這個文件,就能看到PHP的一些信息,php.ini配置文件的路徑可以在這個頁面上看到
安裝php的擴展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安裝完擴展之後需要再次重啟apache
systemctl restart httpd.service
C. 濡備綍鍦–entOS 6.5涓婂崌綰PHP鐗堟湰
鍦ㄦ洿鏂癙HP涔嬪墠錛屽厛鏌ョ湅涓嬪綋鍓峆HP鐗堟湰錛岄伩鍏嶉噸澶嶇殑鏇存柊
# php -v
媯鏌ュ綋鍓峆HP鐨勫畨瑁呭寘
# yum list installed | grep php
縐婚櫎褰撳墠PHP鐨勫畨瑁呭寘錛屽惁鍒欏規槗璧峰啿紿
# yum remove php*
鐢變簬榛樿ょ殑YUM婧愭棤娉曞崌綰PHP錛屾墍浠ラ渶瑕佹坊鍔犵涓夋柟鐨刌UM婧愶紝姝ゅ勭敤鍒皐ebtatic銆
鍥犱負鏄疌entOS 6.5錛屾墍浠ョ敤浠ヤ笅URL
# rpm -Uvh yum/el6/latest.rpm
濡傛灉鏄疌entOS 7.x
rpm -Uvh yum/el7/epel-release.rpm
rpm -Uvh yum/el7/webtatic-release.rpm
鏌ョ湅YUM婧愪笂鑳界敤PHP瀹夎呭寘
錛 yum list php*
瀹夎匬HP5.5鍙婇渶瑕佺殑鎵╁睍
# yum install php55w php55w-devel php55w-common php55w-mysql php55w-pdo php55w-opacache php55w-xml
鍐嶆℃煡鐪婸HP鐗堟湰錛屼互紜璁ゅ畨瑁呮槸鍚︽垚鍔
瀵逛簡錛屽傛灉浣犵殑PHP瑕佺敤鍒癛edis錛岃峰埆蹇樹簡瀹夎卲hp-redis 鎵╁睍
錛 yum install php-redis
D. 如何在CentOS系統中把PHP 5.3.x更新到PHP 5.4.x
1.首頁安裝Webtatic EL6 YUM源
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
2.停止web伺服器
service nginx stop
或者
service httpd stop
3.刪除當前的 php 安裝 php5.4
yum remove php*
yum install php54w
4.重啟web伺服器
service php-fpm restart
service nginx start
或者
service httpd restart
5.查看php版本
php -v
PHP 5.4.33 (cli) (built: Sep 19 2014 19:58:27)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
E. 如何在linux下安裝多個不同版本的PHP
Linux下部署php多版本共存
背景說明
自php7問世,身為最新版本控的我馬上升級體驗,但是由於伺服器上還有舊程序在運行,只好部署一個php多版本共存環境。
現有環境是lnmp
- CentOS 6.7
- nginx 1.10.1
- mariadb-10.0.26
- php 7.0.8
為了更好兼容舊的php程序,推薦使用5.4.45. 主要是兼容mysql擴展。
開始安裝
首先要下載php-5.4.45.tar.gz源碼包。
通過源碼安裝
# tar xzvf php-5.4.45.tar.gz
# cd php-5.4.45
# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl
# make ZEND_EXTRA_LIBS='-liconv'
# make install
# cp php.ini-proction /usr/local/php/etc/php.ini
------------------------------------------------------------------------------------------------
php.ini 配置
post_max_size = 50M
upload_max_filesize = 50M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=0
max_execution_time = 300
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
------------------------------------------------------------------------------------------------
php-fpm.conf 配置
------------------------------
# vim /usr/local/php/etc/php-fpm.conf1
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
error_log = /usr/local/php54/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php54-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
----------------------------------------------------------------------------------
啟動 php-fpm
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm
# chmod +x /etc/init.d/php54-fpm
# /etc/init.d/php54-fpm start
-------------------------------------------------------------------------------------------
修改nginx配置,對需要的服務配置使用php-5.4.45
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php54-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
----------------------------------------------------------------------------------------
配置php-5.4.45 的php54-fpm 開機自動啟動
# chkconfig --add php54-fpm
# chkconfig php54-fpm on
F. linux centos 7 下用yum 安裝iso鏡像里自帶的php5.4.16版本的但是沒有php-fqm文件不知道怎麼重啟php服務
systemctl restart php-fpm.service #這條命令是重啟php服務
下面是一個比較靠譜的php安裝步驟:
先刪除已有的php版本 ,執行下面的命令刪除php
yum remove php-common
然後像安裝那樣問你是否繼續的,輸入yes即可
添加 yum 源
CentOS 6.x 的源
# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
安裝 PHP
# yum install --enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
註:安裝5.6版本為remi-php56,安裝5.5版本為remi-php55
G. 現在要升級php5.4已上的版本,怎麼升級
一、前言
我們公司伺服器上的PHP版本是5.2,真的太舊了,除了很多新特性無法使用之外,PHP5.4的性能也比5.2版本有所提高,有助於提供業務的吞吐量。今年,我們計劃將公司所有業務的PHP版本升級為5.4.41。
二、升級前准備
在升級PHP版本之前,首先要做的是檢查業務代碼的語法兼容性。其實,在官網上已經有相關的升級指引,我參考的是這2個鏈接。
從 PHP 5.2.x 移植到 PHP 5.3.x:http://php.net/manual/zh/migration53.php
從 PHP 5.3.X 遷移到 PHP 5.4.X:http://php.net/manual/zh/migration54.php
官方的文檔中,沒有升級指引從PHP5.2直接升級到PHP5.4,因此,需要對以上的升級指引,做一個歸納總結。上面的鏈接中有好幾篇子文章,我主要關注的是「不向下兼容的變化」,「PHP 5.3.x 中棄用的功能」,「被移除的擴展」,「其他改變」……,主要目的是找出不兼容的語法(導致錯誤),以及將會被移除的函數。
我們使用以下一個表格來進行總結,方便各業務的人員能夠對照PHP版本升級帶來的變化而修改各自的業務代碼
以上內容摘抄自官網的一些說明,這里就不詳細列出來了。
三、測試
完善的單元測試和功能測試可以保證PHP版本升級後能及時發現問題。
四、上線方案
灰度,再灰度,這個是我們的原則。上線的時候,先對一個機房的伺服器PHP版本進行升級,再逐步覆蓋到所有的伺服器。與此同時,上線之後,要密切留意是否error.log裡面是否包含「PHP Fatal error」的錯誤日誌,伺服器的響應狀態是否正常。
---------------------
H. 將Linux伺服器上的PHP版本 從5.3.8升級到5.4.0任意版本,會對現存的PHP程序有影響嗎
同一個大版本(都是php5)沒事兒,直接升級問題不大。升級前習慣上備份下相關文件就好。