php扩展编译,又遇“PHP Startup: Invalid library (maybe not a PHP library)”

关于php与mysql之间的工作机制,今天蛋疼地考虑php编译安装时不添加--with-mysql参数,是否可以实现mysql_connect()函数。

第一次编译只是简单的

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
make && make install

mysql_connect()果然使用不了,本来想yum安装php-mysql,想着好久没有扩展编译。

于是又开始折腾了。

cd ext/mysql
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql

接着在配置文件php.ini添加extension,果断遇到报错。

NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/mysql.so' in Unknown on line 0

折腾着extension,extension_dir两个选项,各种组合都使用过了。只好上搜索引擎了,两个小时后还是没有在网上找到能解决的方案。这时把注意力想到php安装环节,以上的php已经是第二安装了。之前只做过删除安装目录,源码包的文件继续使用之前解压出来的。

rm -rf /usr/local/php

然后,再来一次

rm src -rf (记性太差了,这次忘记删除安装目录了/usr/local/php)
tar zxvf php-5.x.x.tar.gz
cd php-5.x.x
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
make && make install
cd ext/mysql
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql

由于安装目录没有删除,配置文件就没有动过了。

测试,成功。


结论:编译安装记得在删除src目录或者make clean命令

你可能感兴趣的:(PHP,library,a,not,Maybe,php扩展编译)