首先,装的实在艰难,因此容我吐槽两句:php
PHP好个P,两个小版本都不兼容,把这个php5.3.24放在5.4.45环境下都跑不了。对于我这种用多了向下兼容的java的人来讲,简直没法想象!html
网上有装俩apache在linux下的方法。但注意了:人家是为了平滑迁移,关一个,再开一个。一个Linux系统没法同时运行俩apache。java
wine有点用处。可是在X86_64版本的Linux上就别想着装32位的了,ZLiib的32位版本装不上、XFree太大了。对于XFree这种放出ftp而不是压缩包的,我甚是鄙视:里面的组件各个版本都有,我这菜鸡哪知道用哪一个!mysql
---------->吐槽完毕<-------------linux
说下状况:nginx
Linux是X86_64的,已经跑了PHP5.4.45。是个简单的政府网站(简单到全部菜单就文章和下载两种状况)。sql
如今人家客户要咱们改版,源代码找不到了,就找了个yourphp框架(window整合版,php和apache都是window版的),改好了,而后须要部署到人家服务器上:apache
1.先装的wine64位,跑不起exe(32位的)。删掉后装32位,缺包装不上....(详见吐槽)php框架
2.而后照网上装双apache,而后发现没法同时跑....服务器
3.最后按照人家的博客,apache+php5.4.45是原来的,Nginx+php5.3.24跑咱们改版的。
里面说的很详细,我这里只说下里面没说到的关键点:
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。