摘要:多個版本共存本例系統已通過安裝好了,所以后面手動安裝。但是為什么需要安裝多個版本的發揮你的小宇宙想象一下吧。
lnmp 多個php版本共存
本例(ubuntu系統)已通過lnmp安裝好php7.1了,所以后面手動安裝php5.6.36。但是為什么需要安裝多個版本的PHP?發揮你的小宇宙想象一下吧。
安裝PHP5.6.36下載php5.6.36
wget http://cn.php.net/distributions/php-5.6.36.tar.gz
解壓
tar zxvf ./php-5.6.36.tar.gz
配置
./configure --prefix=/usr/local/php56 --with-config-file-path=/usr/local/php56/etc --with-config-file-scan-dir=/usr/local/php56/conf.d --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-opcache --enable-intl --with-xsl
如果過程提示錯誤比如:freetype,就解決這些錯誤再重新執行配置
先搜索這個名字,看看安裝包的具體名字是什么,然后再使用apt-get安裝
apt-cache search freetype
apt-get install libfreetype6-dev
執行make
make
我出現了這種錯誤,recipe for target "sapi/cli/php" failed,解決方法是直接編輯makefile文件,搜索EXTRA_LIBS,在EXTRA_LIBS= 后面添加-liconv,如:EXTRA_LIBS = ..... -lcrypt -liconv,然后執行make clean,再執行一次make。
最后就是make install了
make install配置php5.6
cp /root/php-5.6.36/php.ini-development /usr/local/php56/etc/php.ini
打開并修改/usr/local/php56/etc/php.ini
查找 mysql.default_socket 改成
mysql.default_socket = /tmp/mysql.sock
查找 mysqli.default_socket 改成
mysqli.default_socket = /tmp/mysql.sock
查看php5.6版本
/usr/local/php56/bin/php -v PHP 5.6.36 (cli) (built: May 1 2018 16:03:00) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies配置 php-fpm 服務
因為 PHP 7 的服務文件為 php-fpm.service 所以這里用 php56-fpm.service
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php56-fpm.service
編輯php56-fpm.service,修改
PIDFile=${prefix}/var/run/php-fpm.pid ExecStart=${exec_prefix}/sbin/php-fpm --nodaemonize --fpm-config ${prefix}/etc/php-fpm.conf
為
PIDFile=/usr/local/php56/var/run/php-fpm.pid ExecStart=/usr/local/php56/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php56/etc/php-fpm.conf
在/usr/local/php56/etc下添加文件php-fpm.conf
內容為
[global] pid = /usr/local/php56/var/run/php-fpm.pid error_log = /usr/local/php56/var/log/php-fpm.log log_level = notice [www] listen = /tmp/php56-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 = 20 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 20 request_terminate_timeout = 100 request_slowlog_timeout = 0 slowlog = var/log/slow.log
在/usr/local/php56/var/run中添加一個文件php-fpm.pid,內容為
3353
因為php7的pid為3352,所以這里用3353,這個隨意,不要和別的軟件沖突就行。
重新載入 systemd
systemctl daemon-reload
可以設置開機啟動:
systemctl enable php56-fpm
立即啟動 php-fpm
systemctl start php56-fpm
查看php5.6的狀態
systemctl status php56-fpm
● php56-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php56-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-05-01 19:21:52 CST; 26s ago Main PID: 3353 (php-fpm) CGroup: /system.slice/php56-fpm.service ├─3353 php-fpm: master process (/usr/local/php56/etc/php-fpm.conf) ├─3373 php-fpm: pool www ├─3374 php-fpm: pool www ├─3375 php-fpm: pool www ├─3376 php-fpm: pool www ├─3377 php-fpm: pool www ├─3378 php-fpm: pool www ├─3379 php-fpm: pool www ├─3380 php-fpm: pool www ├─3381 php-fpm: pool www └─3382 php-fpm: pool www May 01 19:21:52 iZ23mzd9hi4Z systemd[1]: Started The PHP FastCGI Process Manager. May 01 19:22:05 iZ23mzd9hi4Z systemd[1]: Started The PHP FastCGI Process Manager.
查看php7的狀態
systemctl status php-fpm
● php-fpm.service - LSB: starts php-fpm Loaded: loaded (/etc/init.d/php-fpm; bad; vendor preset: enabled) Active: active (exited) since Tue 2018-05-01 14:47:03 CST; 4h 35min ago Docs: man:systemd-sysv-generator(8) May 01 14:47:01 iZ23mzd9hi4Z systemd[1]: Starting LSB: starts php-fpm... May 01 14:47:03 iZ23mzd9hi4Z php-fpm[771]: Starting php-fpm done May 01 14:47:03 iZ23mzd9hi4Z systemd[1]: Started LSB: starts php-fpm.配置不同的 nginx 站點使用不用的 PHP 版本
在/usr/local/nginx/conf下添加一個文件名為enable-php56.conf
內容為
location ~ [^/].php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php56-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
修改域名配置文件中的include enable-php.conf;為include enable-php56.conf;
server { listen 80; ... include enable-php56.conf; ... }測試一下
在各域名目錄下添加一個info.php文件測試一下
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30719.html
摘要:安裝系統本次安裝的是的最小化版本,以下操作在用戶下進行。在搭建完該環境后,筆者使用作為開發,配置使其可以直接調試虛擬機上的代碼即開發環境下代碼是運行在虛擬機上的。通過該方法,可以最大程度地確保開發環境與生產環境的一致性。 安裝系統 本次安裝的是Centos7.3的最小化版本,以下操作在root用戶下進行。在搭建完該環境后,筆者使用phpstorm作為開發ide,配置phpstorm使其...
摘要:和是目前兩款比較適合個人當成網盤或者同步云盤使用的程序,最近為了可以找到最適合自己的云盤程序,分別安裝并試用了與。二應用平臺兩者旗鼓相當客戶端,與都比較齊全,全平臺支持。手機電腦端網頁端等都可以正常使用。NextCloud和Seafile是目前兩款比較適合個人當成網盤或者同步云盤使用的程序,最近為了可以找到最適合自己的云盤程序,分別安裝并試用了NextCloud與Seafile。總得來說,N...
摘要:一鍵配置環境網站數據庫通過端輕松管理服務器。點擊進入領取寶塔面板元禮包地址版請確保純凈系統安裝支持,端管理,支持一鍵創建網站數據庫安全管理,計劃任務,文件管理,多版本共存及切換,一鍵開啟環境。越來越多的人選擇wordpress建站,個人站長其實門檻很低的,但是有些朋友覺得Linux服務器的各種命令腳本自己沒法搭建環境。今天,小編給大家推薦一個不錯的Linux面板工具,寶塔面板是一款使用方便、...
摘要:直接強制結束程序。在用掛起程序時,當想要結束這個程序,最好用。能夠模擬在控制臺結束程序的功能。 向 host 文件快速添加新網址配置 echo 127.0.0.1 your.domian.com | sudo tee -a /etc/hosts NGINX 配置 #nginx禁止訪問.點號開頭的文件 location ~* /.* { deny all; } #nginx 禁止訪問.s...
閱讀 1456·2021-09-02 13:57
閱讀 1870·2019-08-30 15:55
閱讀 2407·2019-08-30 15:54
閱讀 2241·2019-08-30 15:44
閱讀 2733·2019-08-30 13:18
閱讀 480·2019-08-30 13:02
閱讀 628·2019-08-29 18:46
閱讀 1665·2019-08-29 11:25