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)的主体部分:
server {
listen ;
server_name xin.nxlaoling.com;
location / {
#root html;
root /home/llw/Yourphp/www;
index index.html index.htm index.php;
}
error_page /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/llw/Yourphp/www$fastcgi_script_name;
}
}
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。
Linux上跑两个版本的php,5.4.45和5.3.24的更多相关文章
- linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数
linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数 ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc /usr/bin/arm-linux ...
- Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?
Python3.7.2,在Linux上跑来跑去的,是在升级打怪么? 前不久,发布了Python在Windows(程序员:Python学不学?完全没必要纠结)和Mac OS(我是Python,P派第 ...
- Linux上跑MySQL优化技巧
1.禁止操作系统更新文件的atime属性 atime是Linux/UNIX系统下的一个文件属性,每当读取文件时,操作系统都会将读操作时间回写到磁盘上.对于读写频繁的数据库文件来说,记录文件的访问时间一 ...
- 原来在linux上切换jdk的版本是这么简单
上次在linux上切换jdk版本的时候,还配置了半天的环境变量,今天又查了一下,原来是这么的简单 1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看: (输全哦) update-alter ...
- .NET 跨平台框架Avalonia UI: 填坑指北(二):在Linux上跑起来了
上一章回顾: .NET 跨平台框架Avalonia UI: 填坑指北(一):熟悉UI操作 本篇将要阐述 包括但不仅限于Avalonia及所有Windows到Linux跨平台开发 的一些注意事项: 一 ...
- 在windows2003系统上安装两个版本的oracle
想试试oracle11g都有什么变化,于是在机器上又安装了oracle11.1.7版本的.安装很简单,只是安装后如何让两个数据库同时跑起来,需要稍微设置下.1.将11goracle的监听换一个端口,比 ...
- 如何在Linux上检查SSH的版本(转)
SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00). 事实上,SSH1和SSH2是两个完全不同互不兼容的协议.SSH2明显地 ...
- 让asp.net和php同时在Linux上跑起来
实现这个想法有很多种方法,我就我最近算是比较熟悉的方式来说给大家吧. 因为有了mono,所以.net才能跨平台,.net都跨平台了,.net平台的童鞋们是不是应该提起精神好好了解下mono呢? 当然了 ...
- 关于在Linux上安装aws cli版本1的记录
AWS Command Line Interface (AWS CLI) 是一种开源工具,让您能够在命令行 Shell 中使用命令与 AWS 服务进行交互. 因公司项目要求,要在Linux服务器安装a ...
随机推荐
- java注解(Annotation)
本文转载自http://www.cnblogs.com/xdp-gacl/p/3622275.html 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解 ...
- Python爬虫入门:Urllib库的高级使用
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- linux-less
linux-less less是more命令的进化版.拥有与more命令一样的向前向后向下向上的数据查看功能,同时less还可以在查看内容中进行快速查找,关于数据向上向下操作,可以看看这个http:/ ...
- 必须先将 ContentLength 字节写入请求流,然后再调用 [Begin]GetResponse。解决方法
当在后台实现POST请求的时候,出现如下错误: 必须先将 ContentLength 字节写入请求流,然后再调用 [Begin]GetResponse. 或者是如下错误: 上述是因为由于我们使用的是代 ...
- C++雾中风景2:struct还是class?
之前因为都在忙着毕业的开题答辩与投稿论文的事宜,一直没有时间更新这个系列的文章.师弟看了上一篇雾中风景的文章,希望我继续把这个系列的文章写下去.坦白说,C++的特性很多,这也不是教学指南的文章,我会选 ...
- 通过jettymain启动项目
jetty是一个比tomcat轻量级好多的服务器,通过简单的配置即可成功的跑起来,编译过程要短一点,可以一定程度上提高开发效率 首先,要下载下来jetty的包,mvn信息如下: <depende ...
- 安装scrapy框架的常见问题及其解决方法
下面小编讲一下自己在windows10安装及配置Scrapy中遇到的一些坑及其解决的方法,现在总结如下,希望对大家有所帮助. 常见问题一:pip版本需要升级 如果你的pip版本比较老,可能在安装的过程 ...
- 堆排序HeapSort
堆排序,顾名思义,是采用数据结构堆来进行排序的一种排序算法. 研究没有规律的堆,没有任何意义.特殊的堆有最大堆(父节点值大于等于左右字节点值),最小堆(父节点值小于等于子节点值).一般采用最大堆来进行 ...
- Knowledge_SPA——精研查找算法
首先保证这一篇分析查找算法的文章,气质与大部分搜索引擎搜索到的文章不同,主要体现在代码上面,会更加高级,会结合到很多之前研究过的内容,例如设计模式,泛型等.这也与我的上一篇面向程序员编程--精研排序算 ...
- 十、VueJs 填坑日记之在项目中使用Amaze UI
上一篇博文,我们把jQuery集成到了项目中,今天我们来集成Amaze ui(妹子UI).先来介绍一下妹子UI.Amaze UI 含近 20 个 CSS 组件.20 余 JS 组件,更有多个包含不同主 ...