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