php5.4.44

所谓多版本多版本PHP就是php5.4和5.5以及其他版本在同一台服务器。

假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可。

 

安装第二个版本的PHP

# wget http://cn2.php.net/get/php-5.4.44.tar.gz/from/this/mirror
# tar zxvf php-5.4.44.tar.gz
# cd php-5.4.44
#./configure --prefix=/usr/local/php5.4.44 \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysql \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
# make &&  make install

# cp -R ./sapi/fpm/php-fpm.conf /usr/local/php5.4.44/etc/php-fpm.conf
# cp php.ini-development /usr/local/php5.4.44/lib/php.ini
# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm5.4.44

修改php-fpm.conf的侦听端口为9001,因为主版本5.5.28是侦听9000。

  1. ; Note: This value is mandatory.
  2. listen = 127.0.0.1:9001

启动php-fpm
php安装成功查看进程

#ps aux|grep php

这样就已经起好php-fpm了。

配置Nginx

增加一段新的端口8054的配置并指向到9001以及指定目录即可:

server {
        root /usr/www5.4.44;
            index  index.html index.htm;
        }

error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

location ~ \.php$ {
root html;
fastcgi_index index.php;
include fastcgi_params;
}
 
    }

nginx的配置文件nginx.conf在

# cd /usr/local/nginx/conf

  1. #user  nobody;
  2. worker_processes  4;
  3. #error_log  logs/error.log;
  4. #error_log  logs/error.log  notice;
  5. #error_log  logs/error.log  info;
  6. #pid        logs/nginx.pid;
  7. events {
  8. worker_connections  1024;
  9. }
  10. http {
  11. include       mime.types;
  12. default_type  application/octet-stream;
  13. #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  14. #                  '$status $body_bytes_sent "$http_referer" '
  15. #                  '"$http_user_agent" "$http_x_forwarded_for"';
  16. #access_log  logs/access.log  main;
  17. sendfile        on;
  18. #tcp_nopush     on;
  19. #keepalive_timeout  0;
  20. keepalive_timeout  65;
  21. #gzip  on;
  22. server {
  23. listen       80;
  24. server_name  localhost;
  25. #charset koi8-r;
  26. #access_log  logs/host.access.log  main;
  27. location / {
  28. #root   html;
  29. root /usr/www;
  30. index  index.html index.htm;
  31. }
  32. #error_page  404              /404.html;
  33. # redirect server error pages to the static page /50x.html
  34. #
  35. error_page   500 502 503 504  /50x.html;
  36. location = /50x.html {
  37. root   html;
  38. }
  39. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  40. #
  41. #location ~ \.php$ {
  42. #    proxy_pass   http://127.0.0.1;
  43. #}
  44. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  45. #
  46. #location ~ \.php$ {
  47. #    root           html;
  48. #    fastcgi_pass   127.0.0.1:9000;
  49. #    fastcgi_index  index.php;
  50. #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
  51. #    include        fastcgi_params;
  52. #}
  53. location ~ \.php$ {
  54. root html;
  55. fastcgi_pass 127.0.0.1:9000;
  56. fastcgi_index index.php;
  57. include fastcgi_params;
  58. fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name;
  59. }
  60. # deny access to .htaccess files, if Apache's document root
  61. # concurs with nginx's one
  62. #
  63. #location ~ /\.ht {
  64. #    deny  all;
  65. #}
  66. }
  67. server {
  68. listen       8054;
  69. server_name  localhost;
  70. location / {
  71. #root   html;
  72. root /usr/www5.4.44;
  73. index  index.html index.htm;
  74. }
  75. error_page   500 502 503 504  /50x.html;
  76. location = /50x.html {
  77. root   html;
  78. }
  79. location ~ \.php$ {
  80. root html;
  81. fastcgi_pass 127.0.0.1:9001;
  82. fastcgi_index index.php;
  83. include fastcgi_params;
  84. fastcgi_param SCRIPT_FILENAME /usr/www5.4.44$fastcgi_script_name;
  85. }
  86. }
  87. # another virtual host using mix of IP-, name-, and port-based configuration
  88. #
  89. #server {
  90. #    listen       8000;
  91. #    listen       somename:8080;
  92. #    server_name  somename  alias  another.alias;
  93. #    location / {
  94. #        root   html;
  95. #        index  index.html index.htm;
  96. #    }
  97. #}
  98. # HTTPS server
  99. #
  100. #server {
  101. #    listen       443 ssl;
  102. #    server_name  localhost;
  103. #    ssl_certificate      cert.pem;
  104. #    ssl_certificate_key  cert.key;
  105. #    ssl_session_cache    shared:SSL:1m;
  106. #    ssl_session_timeout  5m;
  107. #    ssl_ciphers  HIGH:!aNULL:!MD5;
  108. #    ssl_prefer_server_ciphers  on;
  109. #    location / {
  110. #        root   html;
  111. #        index  index.html index.htm;
  112. #    }
  113. #}
  114. }

重启nginx

防火墙配置

注意如果你希望在本地机器例如xp访问虚拟机的网页,如果是centos6需要修改防火墙启动80端口

# 修改iptables文件,或者直接用vim编辑

# 添加下面一行,打开防火墙80端口:

重启防火墙
# /etc/init.d/iptables restart

测试是否成功,查看phpinfo()

Linux环境Nginx安装多版本PHP的更多相关文章

  1. Linux环境Nginx安装与调试以及PHP安装

    linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5.28 1.编译安装Nginx 官网:http://wiki.nginx.org/Instal ...

  2. Linux环境Nginx安装

    开始前,请确认gcc g++开发类库是否装好,默认已经安装. ububtu平台编译环境可以使用以下指令 apt-get install build-essential apt-get install ...

  3. Linux环境Nginx安装、调试以及PHP安装

    linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5 1.编译安装Nginx 官网:http://wiki.nginx.org/Install 下 ...

  4. Linux环境Nginx安装、调试以及PHP安装(转)

      linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5 1.编译安装Nginx 官网:http://wiki.nginx.org/Install ...

  5. rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装

    rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装 待办 https://blog.csdn.net/CSDN_duomaomao/art ...

  6. Linux 环境下安装python相关

    目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...

  7. Linux环境下安装Tigase XMPP Server

    Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...

  8. linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)

     linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...

  9. Linux环境下安装NodeJS和mongoDB

    前面的话 本文将详细介绍如何下Linux环境下安装NodeJS和mongoDB NodeJS [1]使用二进制包安装 1.在官网下载Linux环境下的NodeJS安装包 2.通过xftp软件将安装包上 ...

随机推荐

  1. xcode 执行时模拟器不可选的问题

    好久没写博客了,上一次是什么时候都想不起来了. 之前总认为脑袋记住了,用过了就能够了,干嘛要写博客,简直浪费时间.事实上没事写写博客优点还是挺多的.这样既能够对自己用过的和学到的东西做一个总结,也能提 ...

  2. BZOJ 2733 HNOI 2012 永无乡 平衡树启示式合并

    题目大意:有一些岛屿,一開始由一些无向边连接. 后来也有不断的无向边增加,每个岛屿有个一独一无二的重要度,问随意时刻的与一个岛屿联通的全部岛中重要度第k大的岛的编号是什么. 思路:首先连通性一定要用并 ...

  3. 编程算法 - 圆圈中最后剩下的数字(递推公式) 代码(C++)

    圆圈中最后剩下的数字(递推公式) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0開始 ...

  4. Unity 启动画面淡入淡出

    前几天在玩我叫MT 2游戏的时候发现打开他们应用的时候发现他们Logo淡入淡出的效果做的挺好的,例如第一张是运营商腾讯的logo第二张是他们公司的游戏logo.我们也来模仿一下: 第一张图片:运营商的 ...

  5. Android 打造自己的个性化应用(三):应用程序的插件化

    在android的项目开发中,都会遇到后期功能拓展增强与主程序代码变更的现实矛盾,也就是程序的灵活度. 由于linux平台的安全机制,再加上dalvik的特殊机制,各种权限壁垒,使得开发一个灵活多变的 ...

  6. CLR via C# - GC

    //像背书一样,记录下吧 1.CLR分配资源 托管堆上维护着一个指针NextObjPtr.该指针表示下一个新建对象在托管堆上的位置.C#的new Object会产生IL newobj指令,NextOb ...

  7. asp.net 发送邮件函数两则

    using System.Net.Mail; using System.Text; using System.Net; #region 邮件发送 /// <summary> /// 邮件发 ...

  8. Android Studio ---------------- 软件使用小细节(更新中。。。。。。)

    ###鼠标放到相关类或方法等上,没有提示. *解决方法:File----Setting-----Editor-----General------Show quik documentation on m ...

  9. ListView加载两种以上不同的布局

    不同的项目布局(item layout) Listview一种单一的item 布局有时候不能完全满足业务需求,我们需要加载两种或两种以上不同的布局,实现方法很简单: 重写 getViewTypeCou ...

  10. 【转载】ADO.NET与ORM的比较(3):Linq to SQL实现CRUD

    [转载]ADO.NET与ORM的比较(3):Linq to SQL实现CRUD 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate ...