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

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的更多相关文章

  1. linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数

    linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数 ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc /usr/bin/arm-linux ...

  2. Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?

    Python3.7.2,在Linux上跑来跑去的,是在升级打怪么?   前不久,发布了Python在Windows(程序员:Python学不学?完全没必要纠结)和Mac OS(我是Python,P派第 ...

  3. Linux上跑MySQL优化技巧

    1.禁止操作系统更新文件的atime属性 atime是Linux/UNIX系统下的一个文件属性,每当读取文件时,操作系统都会将读操作时间回写到磁盘上.对于读写频繁的数据库文件来说,记录文件的访问时间一 ...

  4. 原来在linux上切换jdk的版本是这么简单

    上次在linux上切换jdk版本的时候,还配置了半天的环境变量,今天又查了一下,原来是这么的简单 1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看: (输全哦) update-alter ...

  5. .NET 跨平台框架Avalonia UI: 填坑指北(二):在Linux上跑起来了

    上一章回顾:  .NET 跨平台框架Avalonia UI: 填坑指北(一):熟悉UI操作 本篇将要阐述 包括但不仅限于Avalonia及所有Windows到Linux跨平台开发 的一些注意事项: 一 ...

  6. 在windows2003系统上安装两个版本的oracle

    想试试oracle11g都有什么变化,于是在机器上又安装了oracle11.1.7版本的.安装很简单,只是安装后如何让两个数据库同时跑起来,需要稍微设置下.1.将11goracle的监听换一个端口,比 ...

  7. 如何在Linux上检查SSH的版本(转)

    SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00). 事实上,SSH1和SSH2是两个完全不同互不兼容的协议.SSH2明显地 ...

  8. 让asp.net和php同时在Linux上跑起来

    实现这个想法有很多种方法,我就我最近算是比较熟悉的方式来说给大家吧. 因为有了mono,所以.net才能跨平台,.net都跨平台了,.net平台的童鞋们是不是应该提起精神好好了解下mono呢? 当然了 ...

  9. 关于在Linux上安装aws cli版本1的记录

    AWS Command Line Interface (AWS CLI) 是一种开源工具,让您能够在命令行 Shell 中使用命令与 AWS 服务进行交互. 因公司项目要求,要在Linux服务器安装a ...

随机推荐

  1. PTA 数据结构 银行业务队列简单模拟

    仅供参考,请勿粘贴 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银行的顾客序列,请按业务完 ...

  2. SQL2012导出的脚本没有if exists判断

    SQL2012导出的脚本没有if exists判断 以前用SQL2000的时候,导出存储过程,表各种object的时候,前面会自动加if exists的一段脚本,这样的脚本很方便的可以重复执行.现在使 ...

  3. middlewares in GCC

    Our GCC is a project developed by React that makes it painless to create interactive UIs. Design sim ...

  4. [ASP.NET Core 2.0 前方速报]Core 2.0.3 已经支持引用第三方程序集了

    发现问题 在将 FineUIMvc(支持ASP.NET MVC 5.2.3)升级到 ASP.NET Core 2.0 的过程中,我们发现一个奇怪的现象: 通过项目引用 FineUICore 工程一切正 ...

  5. 使用wwise音效引擎的好处

    用过一段时间的wwise,做以下几个具体功能的时候比较方便: 1.当策划需求一个声音需要随机播放多个随机音源的其中一个时,例如脚步声.普通攻击声,当这类声音一直播放的都是同一个音源的时候,人会产生听觉 ...

  6. JDBC数据源 使用JNDI连接池实现数据库的连接

    0.引言 许多Web应用程序需要通过JDBC驱动程序访问数据库,以支持该应用程序所需的功能.Java EE平台规范要求Java EE应用程序服务器为此目的提供一个DataSource实现(即,用于JD ...

  7. [S]SQL SERVER数据库维护与重建索引

    第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% declare @table_id int set @table_id=object_id('表名') dbcc sho ...

  8. canvas动画3:交互

    canvas动画3 时隔很久,本人终于又写博客了(重度拖延症),把之前留下的canvas交互动画讲一讲. 电脑上的交互,指的是鼠标和键盘,我们今天主要用的是鼠标. 既然是鼠标的话,就要获取鼠标的各种事 ...

  9. H5新增标签

    <!DOCTYPE html ><html><head><meta http-equiv="Content-Type" content=& ...

  10. 方法的形参、ref参数、out参数的区别

    我们在定义方法时,经常会涉及到传参.因为引用类型的数据在用变量存储时,是存储的地址,所以在传参时,依然是传递的地址,但是值类型的数据在传参时就会有所不同.值类型数据在调用方法传参时,普通情况下是值传递 ...