php扩展编译,又遇“PHPStartup:Invalidlibrary(maybenotaPHPlibrary)”

关于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扩展编译,又遇“PHPStartup:Invalidlibrary(maybenotaPHPlibrary)”
文章源于:http://myzitong.com/article/jpjidg.html