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 ...
随机推荐
- 2016 ACM/ICPC Asia Regional Dalian Online Football Games
Football Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 前端的UI设计与交互之色彩篇
一.颜色Red热情.警示 Green成功.通过.安全 Blue专业.科技 Pink典雅.明快.女性 Orange醒目.温暖 Purple高雅.浪漫 Yellow活力.提示 Cyan清新.冷静.结构化 ...
- JAVASE高级2
反射概述 什么是反射? 反射的的概念是有smith1982年首次提出的,zhuy主要是指程序可以访问.检测和修改它本身状态或行为的一种能力. JAVA反射机制是运行状态中,对于任意一个类,都能够知道这 ...
- Spring Security Ajax 被拦截
背景是项目中使用Spring Security 进行安全控制 再使用Ajax的时候会报 403(ajax get 方式是没问题的 post 的时候会报) Spring Security 原本是 防止 ...
- 一款特好用的JavaScript框架——JQuery
了解了解 jQuery是一个快速,小巧,功能丰富的JavaScript库.它使诸如HTML文档遍历和操纵,事件处理,动画和Ajax等事情变得简单得多,而且易于 ...
- 我眼中的WebViewJavascriptBridge
周六阳光明媚的早晨,非常适合整理和分享一些以前玩过的东西.曾经的工作中参与过一段时间iOS开发,在开发中有个小小的框架让我非常深刻,就是WebViewJavascriptBridge,用于原生控件与前 ...
- C++雾中风景2:struct还是class?
之前因为都在忙着毕业的开题答辩与投稿论文的事宜,一直没有时间更新这个系列的文章.师弟看了上一篇雾中风景的文章,希望我继续把这个系列的文章写下去.坦白说,C++的特性很多,这也不是教学指南的文章,我会选 ...
- Centos下配置tomcat7的https证书
近期搞定了HTTPS配置,特此记录. 1.把下载的文件拷贝到cert文件夹,然后放在tomcat根目录下(与conf同一级目录).2.配置conf下的server.xml,修改下面3个节点,如下: & ...
- 《Linux命令行与shell脚本编程大全》第十章 使用编辑器
主要介绍vim, nano, emacs,KWrite,Kate,GNOME 10.1 vim Unix系统最初的编辑器 10.1.1检查vim软件包 先搞明白你所用的Linux系统是哪种vim软件包 ...
- MySQL 2006 超时
http://ronaldbradford.com/blog/sqlstatehy000-general-error-2006-mysql-server-has-gone-away-2013-01-0 ...