pdo和pdo_mysql安装

0

今天要安装一个PHP的项目,每次想到都头大,因为又出现了一个莫名其妙的问题:

libtool: link: `mysql_statement.lo' is not a valid libtool object
make: *** [pdo_mysql.la] Error 1

这个把我找哭了。

开始说使用命令:make realclean,结果直接:make: *** No rule to make target 'realclean'. Stop.

后来看到一个网站http://blog.csdn.net/lwx2615/article/details/7597427,这里说使用:make distcheck,果断成功了。
至于这个命令干什么的请看这里:http://www.cnblogs.com/hnrainll/archive/2011/06/08/2075052.html

这里也说一下上面两个文件安装,其实安装的文件就在phpext文件夹里面,进入到相应目录执行以下命令:

/usr/local/php/bin/phpize

然后才会出现configure,然后都编译:

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/

后面的参数是MySQL安装目录,绿色版MySQL也是在MySQL目录就可以了。
然后make & make install就OK了,最后会生成一个目录地址,要配置到php.ini

但是安装完以后发现,phpinfo();发现并没有成功。

执行:

php -m | grep pdo

发现:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: undefined symbol: zend_new_interned_string in Unknown on line 0
pdo_mysql
pdo_sqlit

搞了半天,我去…不行,重装一次算了。

最后发现是参数里面我填写了disable-pdo,编译的时候加上参数:--enable-pdo--with-pdo-mysql

完整命令:

./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt --enable-mbstring --enable-pdo --with-pdo-mysql  --with-curl --disable-debug  --disable-rpath --enable-inline-optimization --with-bz2  --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir