php編譯完成後安裝mysql擴展

搭建測試環境時遇到的問題:使用firefox 瀏覽測試頁返回空白頁,沒有報錯信息

原因:

Php版本是5.2,雖然在安裝的時候指定了mysql擴展,但是安裝時並沒有裝上

解決辦法:

1、進入php源代碼目錄:

[root@localhost  /]# # cd cd/usr/local/php-5.2.11

2、再進入要添加的mysql擴展源碼目錄:

[root@localhost php-5.2.11]cd ext/mysql/

[root@localhost  mysql]# yuminstall autoconf  (CentOS 5.4需安裝)

3、調用已經編譯好的php可執行程序phpize

[root@localhost  mysql]/usr/local/php/bin/phpize

4、然後configure

[root@localhostmysql]#./configure --with-php-config=/usr/local/php/bin/php-config--with-mysql=/usr/local/mysql/--with-zlib-dir=/usr/local/lib

注意:

/usr/local/mysqlmysql的安裝目錄

5、編譯安裝

[root@localhostmysql]#make

[root@localhost 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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章