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。
这里也说一下上面两个文件安装,其实安装的文件就在php
的ext
文件夹里面,进入到相应目录执行以下命令:
/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