本文目錄一覽:
- 1、請教centos php 多版本安裝共存切換
- 2、一個系統可以兩個版本的php並存嗎
- 3、如何實現php7和php5多版本共存
- 4、如何 實現多個PHP版本 共存 和 切換
- 5、如何讓多個PHP版本在同一個Apache服務下並存
- 6、Linux系統中設置多版本PHP共存配合Nginx服務器使用
請教centos 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-production /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
一個系統可以兩個版本的php並存嗎
可以的,但是具體看你用什麼軟件來支持他運行。
希望我的回答可以幫到你,有什麼不懂可以追問。
如何實現php7和php5多版本共存
多版本共存且同時運行,你可以用PHPWAMP8.8.8.8IN版本集成環境
PHPWAMP支持iis、apache、nginx等web服務器,系統環境受損也能正常運行!
並全部支持php多版本同時運行,無限自定義mysql、php版本,同時運行N個php版本都沒問題。
——-以下內容摘自今日頭條程序員IT快報新聞————–
PHPWAMP無視VC運行庫,無視系統DLL是否完整是否受損,無視系統原因造成的各種PHP環境運行障礙,在電腦系統缺失必備組件或DLL受損的情況下依然能正常運行,不用安裝vc,不用在乎系統dll是否完整
升級的“強制清除環境阻礙”功能是歷史版本中最簡單粗暴的,一鍵轟掉系統佔用80端口以及系統引起的各種異常
三大主流Web服務器分別帶有功能強大的站點管理
iis站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
Nginx站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
Apache站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
如何 實現多個PHP版本 共存 和 切換
你可以使用PHPWAMP8.1.8.8集成環境,集成6個默認版本,可以多個php版本同時運行
支持自定義,官方提供700個php版本隨你切換,一鍵切換很方便,多個php版本可以共存,能同時運行多個不同PHP版本,而且還能實現apache、iis等服務器共存去除非80端口
如何讓多個PHP版本在同一個Apache服務下並存
很簡單,安裝護衛神.apache大師就可以了,默認支持好像是7個版本的PHP,每個站可以使用不同版本的PHP。
Linux系統中設置多版本PHP共存配合Nginx服務器使用
應用環境
LNMP的環境,當前PHP版本5.3.8,遇到一個應用需求只支持PHP
5.2.x,又希望保持現有應用還是用PHP
5.3.8。也就是說需要兩個版本的PHP同時存在,供nginx根據需要調用不同版本。
思路
Nginx是通過PHP-FastCGI與PHP交互的。而PHP-FastCGI運行後會通過文件、或本地端口兩種方式進行監聽,在Nginx中配置相應的FastCGI監聽端口或文件即實現Nginx請求對PHP的解釋。
既然PHP-FastCGI是監聽端口和文件的,那就可以讓不同版本的PHP-FastCGI同時運行,監聽不同的端口或文件,Nginx中根據需求配置調用不同的PHP-FastCGI端口或文件,即可實現不同版本PHP共存了。
配置記錄
下面記錄簡單的配置流程,基於已經安裝了lnmp的debian環境。當前版本的PHP是5.3.8,位於/usr/local/php。
1.下載PHP-5.2.14及相關的FPM、autoconf組件:
mkdir
~/php5.2
cd
~/php5.2
wget
-c
wget
-c
2.解壓PHP-5.2.14,並打上PHP-FPM的補丁:
tar
zxvf
php-5.2.14.tar.gz
gzip
-cd
php-5.2.14-fpm-0.5.14.diff.gz
|
patch
-d
php-5.2.14
-p1
3.如果你已經通過lnmp安裝,應該已經安裝好了autoconf,如果沒有,請自行下載並編譯autoconf-2.13,然後設置autoconf環境變量:
export
PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf¬
export
PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader
3.編譯安裝PHP-5.2.14在新的路徑(/usr/local/php-5.2.14)下,注意–prefix、–with-config-file-path的路徑,並且打開fastcgi和fpm選項:
cd
php-5.2.14/
./buildconf
–force
./configure
–prefix=/usr/local/php-5.2.14
–with-config-file-path=/usr/local/php-5.2.14/etc
–with-mysql=/usr/local/mysql
–with-mysqli=/usr/local/mysql/bin/mysql_config
–enable-fastcgi
–enable-fpm
make
ZEND_EXTRA_LIBS=’-liconv’
make
install
4.設置/usr/local/php-5.2.14/etc/php-fpm.conf,監聽端口:
value
name=”listen_address”127.0.0.1:9001/value
或者監聽文件:
value
name=”listen_address”/path/to/unix/socket/value
其他參數根據服務器環境和需求自行定製。
5.啟動php-fpm,以後可以通過php-fpm進行管理:
/usr/local/php-5.2.14/sbin/php-fpm
start
字php5.3.3後,php已經將php-fpm繼承到php中,而且內置的php-fpm默認不支持(start|stop|reload)的平滑啟動參數,需要使用官方源代碼中提供的啟動腳本來控制:
cp
-f
(php
-5.3.x-source-dir)/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
chmod
755
/etc/init.d/php-fpm
/etc/init.d/php-fpm
start
php-fpm支持的操作:
start,啟動PHP的FastCGI進程。
stop,強制終止PHP的FastCGI進程。
quit,平滑終止PHP的FastCGI進程。
restart,
重啟PHP的FastCGI進程。
reload,
重新加載PHP的php.ini。
logrotate,
重新啟用log文件。
5.3.3的php-fpm腳本支持的操作:start|stop|force-quit|restart|reload|status
6.配置好PHP-5.2.14的php.ini,重新加載生效:
vi
/usr/local/php-5.2.14/etc/php.ini
/usr/local/php-5.2.14/sbin/php-fpm
reload
7.修改nginx配置,對需要的服務配置使用PHP-5.2.14:
location
~
.*.(php|php5)?$
{
fastcgi_pass
127.0.0.1:9001;
fastcgi_index
index.php;
include
fcgi.conf;
}
8.記錄一下自己編譯php5.5.10使用的配置
./configure
–prefix=/usr/local/php-5.5.10
–with-config-file-path=/usr/local/php-5.5.10/etc
–with-mysql=mysqlnd
–with-mysqli=mysqlnd
–with-bz2
–with-curl=/usr/bin
–enable-ftp
–enable-sockets
–disable-ipv6
–with-gd
–with-jpeg-dir=/usr/local
–with-png-dir=/usr/local
–with-freetype-dir=/usr/local
–enable-gd-native-ttf
–with-iconv-dir=/usr/local
–enable-mbstring
–enable-calendar
–with-gettext
–with-libxml-dir=/usr/local
–with-zlib
–with-pdo-mysql=mysqlnd
–enable-dom
–enable-xml
–enable-fpm
–with-libdir=lib64
–with-mcrypt=/usr/bin
–enable-zip
–enable-soap
–enable-mbstring
–with-gd
–with-openssl
–enable-pcntl
–with-xmlrpc
–enable-opcache
原創文章,作者:SMVG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141788.html