Linux上跑兩個版本的php,5.4.45和5.3.24

首先,裝的實在艱難,因此容我吐槽兩句: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跑咱們改版的。

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。

相關文章
相關標籤/搜索