1. lamp环境中,php启动连接mysql时报错
PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'****php/modules/pdo_mysql.so'-libmysqlclient.so.18....
安装pdo_mysql.so:
1)下载PDO_MYSQL-1.0.2.tgz并解压tar -zxvf PDO_MYSQL-1.0.2.tgz;
2)cd PDO_MYSQL-1.0.2;
phpize; ###生成configure文件
./configure --with-php-config=/home/work/lamp/php.install/bin/php-config --with-pdo-mysql=/home/work/mysql ###with-pdo-mysql指定当前环境下mysql的安装路径
make &&make install
若安装完成,会在php安装目录的lib/php/extensions/no-debug-zts-20131226下生成pdo_mysql.so。安装过程中可能遇到如下问题:
/usr/local/src/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:36:error: expected specifier-qualifier-listbefore‘MYSQL’....可参考http://blog.csdn.net/u012038649/article/details/68961211
原因是在编译时需要 MySQL 的头的文件,而它按默认搜索找不到头文件的位置,所以才出现这个问题。通过软连接把MySQL头文件对应到/usr/local/include/下就好:
比如我的MySQL安装文件位于/home/work/mysql,那么就执行以下命令:
ln -s /home/work/mysql/include/* /usr/local/include/
再重新configure,make和make install。
3)php/conf/php.ini中加入下面一行:(windows环境只需将;extension=php_mysql.dll前面的分号去除)
extension=pdo_mysql.so
4)重启apache。
2. php中调起curl报错
PHP Fatal error: Call to undefined function curl_init()....
安装php下的curl模块:
1)进入php源码目录ext/curl:
phpize; ###生成configure文件
./configure --with-curl=/usr/bin/curl ###--with-curl指定curl安装的路径,不指定使用默认的curl
make && make install
顺利安装完成,在php安装目录的lib/php/extensions/no-debug-zts-20131226/下生成curl.so
2)php/conf/php.ini中加入下面一行:(windows环境只需将;extension=php_curl.dll前面的分号去除)
extension=curl.so