標籤:hp編譯完成後安裝mysql擴充 空白頁
搭建測試環境時遇到的問題:使用firefox 瀏覽測試頁返回空白頁,沒有報錯資訊
原因:
Php版本是5.2,雖然在安裝的時候指定了mysql擴充,但是安裝時並沒有裝上
解決辦法:
1、進入php原始碼目錄:
[[email protected] /]# # cd cd/usr/local/php-5.2.11
2、再進入要添加的mysql擴充源碼目錄:
[[email protected] php-5.2.11]cd ext/mysql/
[[email protected] mysql]# yuminstall autoconf (CentOS 5.4需安裝)
3、調用已經編譯好的php可執行程式phpize:
[[email protected] mysql]/usr/local/php/bin/phpize
4、然後configure:
[[email protected]]#./configure --with-php-config=/usr/local/php/bin/php-config--with-mysql=/usr/local/mysql/--with-zlib-dir=/usr/local/lib
注意:
/usr/local/mysql為mysql的安裝目錄
5、編譯安裝
[[email protected]]#make
[[email protected] mysql]#makeinstall
6、編譯完成之後,將會自動把mysql.so放到了預設的php擴充目錄下(phpinfo可查看,我的為/usr/local/php/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=mysql.so前面的分號。如果沒有這句,需要自行添加。
不過有一點需要注意的是,產生的模組名叫mysql.so,跟php.ini裡面的php_mysql.so名字不一致,必須把mysql.so改名為php_mysql.so,也可修改php.ini中的檔案名稱,總之檔案名稱必須一致.
7、重啟php-fpm
8、查看mysql擴充有沒有添加成功
/usr/local/php-cgi/bin/php -m
註:Configure時報錯:configure:error: mysql configure failed. Please checkconfig.log for more information:想起我的系統都是X86的,lib都是64位的.所以解決方案很容易.這個libmysqlclient.alibrary 是在/usr/lib64/mysql, 不是在/usr/lib/mysql.所以可以做下面的方法來解決
#exportLDFLAGS=-L/usr/lib64/mysql
OR請將Makefile裡面的
-L/usr/lib/mysql改為
-L/usr/lib64/mysql
php編譯完成後安裝mysql擴充