zoukankan      html  css  js  c++  java
  • Linux上跑两个版本的php,5.4.45和5.3.24

    首先,装的实在艰难,所以容我吐槽两句:

    PHP好个P,两个小版本都不兼容,把这个php5.3.24放在5.4.45环境下都跑不了。对于我这种用多了向下兼容的java的人来说,简直无法想象!

    网上有装俩apache在linux下的方法。但注意了:人家是为了平滑迁移,关一个,再开一个。一个Linux系统无法同时运行俩apache。

    wine有点用处。但是在X86_64版本的Linux上就别想着装32位的了,ZLiib的32位版本装不上、XFree太大了。对于XFree这种放出ftp而不是压缩包的,我甚是鄙视:里面的组件各个版本都有,我这菜鸡哪知道用哪个!

    ---------->吐槽完毕<-------------

    说下情况:

    Linux是X86_64的,已经跑了PHP5.4.45。是个简单的政府网站(简单到所有菜单就文章和下载两种情况)。

    现在人家客户要我们改版,源代码找不到了,就找了个yourphp框架(window整合版,php和apache都是window版的),改好了,然后需要部署到人家服务器上:

      1.先装的wine64位,跑不起exe(32位的)。删掉后装32位,缺包装不上....(详见吐槽)

      2.然后照网上装双apache,然后发现无法同时跑....

      3.最后按照人家的博客,apache+php5.4.45是原来的,Nginx+php5.3.24跑我们改版的。

    Linux环境Nginx安装与调试以及PHP安装:http://blog.csdn.net/unix21/article/details/8544922

     

    里面说的很详细,我这里只说下里面没说到的关键点:

    1.Nginx编译很顺利,有问题百度就可以解决。

    2.搞清楚php和nginx所用的端口,PHP5.4.45用的是PHP默认的9000端口,我们的php5.3.24就用9001端口。服务器开放的端口是9092,这个是给Nginx监听的,如果端口搞混,访问9092就是白页。

    3.这里给出Nginx配置文件(nginx.conf)的主体部分:

     1   server {  
     2         listen       9092;  
     3         server_name  xin.nxlaoling.com;  
     4   
     5         location / {  
     6             #root   html;  
     7             root /home/llw/Yourphp/www;
     8             index  index.html index.htm index.php;  
     9         }  
    10   
    11         error_page   500 502 503 504  /50x.html;  
    12         location = /50x.html {  
    13             root   html;  
    14         }  
    15   
    16         location ~ .php$ {  
    17             root html;  
    18             fastcgi_pass 127.0.0.1:9001;  
    19             fastcgi_index index.php;  
    20             include fastcgi_params;  
    21             fastcgi_param SCRIPT_FILENAME /home/llw/Yourphp/www$fastcgi_script_name;  
    22         }  
    23    
    24     }  

    4.教程里php5.3.24的编译参数没给出,fpm启动文件没编译出来,这里给出完整的:

      ./configure --prefix=/usr/local/php_5.3.24 --enable-cgi --enable-force-cgi-redirect --with-zlib --enable-fpm --disable-debug --enable-inline-optimization --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr/local --enable-mbstring --with-openssl --with-mysql=/usr/local/mysql --with-jpeg-dir=/usr --with-curl --with-iconv=/usr/local/

    5.如果都启动成功了,访问主页出现乱码,是解码器没安装,同时注意下php的配置文件是在:/usr/local/php_5.3.24/lib/php.ini,没有这个也可以启动。但如果按人家博客方法二配置解码器,还是从源码拷贝过来,最后附加解码器路径。

    6.如果php访问主页出现 Access denied for user ''@'localhost' to database,注意三个方面:这个用户是否有mysql这个库的权限、权限是否齐全(增删改查)、改权限后该用户的密码被清空了(这个我遇到了)

    7.不要问一个JavaWeb程序猿为什么要搞PHP。

  • 相关阅读:
    为什么 PHP 程序员应该学习使用 Swoole
    如何优雅的使用和理解线程池
    Redis 数据结构-字符串源码分析
    MySQL多版本并发控制机制(MVCC)-源码浅析
    Spring事务用法示例与实现原理
    J2Cache 和普通缓存框架有何不同,它解决了什么问题?
    Spring Aop之Cglib实现原理详解
    Python中字符串拼接的N种方法
    使用Fiddler抓取到的“姐夫酷”API接口
    [Android]Space控件的应用场景
  • 原文地址:https://www.cnblogs.com/ztw1122/p/8086274.html
Copyright © 2011-2022 走看看