環境配置
可以使用apt-get快速安裝mysql,php5;我是用源碼手動安裝apache服務器的。安裝完mysql后,最好將字符編碼設置為utf8的。
接下來就是mysql,apache,php5三者之間的關聯。由於mysql,php5都是圖省事用apt-get安裝的,而網上幾乎所有的帖子都是說基於源碼如何關聯的,所以在關聯的時候花了很多時間。
首先是apache與php的關聯,最關鍵的是獲取libphp5.so,然后在apache的配置文件中添加“LoadModule php5_module modules/libphp5.so”關聯就行,最后再添加兩行:
AddType application/x-httpd-php .php .phtml .html
AddType application/x-httpd-php-source .phps
比較難弄的是php與mysql的關聯。要關聯的最重要的一個步驟是獲取mysql.so,網上幾乎全是說基於源碼如何生成mysql.so。后來 我無意中發現apt-get可以安裝php5-mysql,於是試了一下,發現安裝之后,有了mysql.so文件,添加到php的配置文件中,搞定。 (可以用find / -name mysql.so命令查找)
如此,三個軟件之間的關聯就處理好了。
把WordPress源碼放到apache中,修改Apache所有文件的權限,然后按照WordPress的指示一步步完成就行了。接下來,我修改了WordPress的設置–>固定鏈接,發現之前發布的博客訪問不了了,后來在網上找了資料,解決了這個問題。
這個問題是由於重定向的配置問題,第一個關鍵是開啟apache的rewrite_module模塊:
1.首先是生成rewrite_module.so:在apache的源碼中進入modules/mappers目錄,因為該目錄下有模塊的源碼如mod_rewrite.c,然后運行下列命令
/usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
沒報錯的話就會生成rewrite_module.so文件了。
2.在apache配置文件中添加“LoadModule rewrite_module modules/mod_rewrite.so”一行
第二個關鍵是開啟AllowOverride權限:在<Directory “/usr/local/apache2/htdocs”>標簽里,將“AllowOverride None”改為“AllowOverride All”,重啟apache即可。
一般情況下,不用處理.htaccess的內容,但要把他的權限設置一下。
遇到“preg_replace(): Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support”的錯誤,導致各種問題,如圖片上傳失敗等等。網上查了很多資料也沒有相應的解決辦法。
用phpinfo查看pcre版本:
PCRE Library Version | 5.0 13-Sep-2004 |
太舊了,估計是這個原因。后來看別人的評論,決定重裝pcre,可能會遇到gcc編譯的問題,參考http://blog.csdn.net /sky_qing/article/details/9707493 ,再重啟apache服務器,用phpinfo查看pcre版本,還是舊版本,決定重裝apache。
在apache源碼中用 ./configure –with-pcre=/usr/local/pcre ap_cv_void_ptr_lt_long=no & make & make install,安裝成功,加載php模塊,用phpinfo查看pcre版本,終於是新版的了,重復一遍上面的配置,再上傳圖片,成功了!看來就是由於 apache默認的pcre庫太久導致的。