重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
关于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命令