本文共 1511 字,大约阅读时间需要 5 分钟。
最近学习linux,使用php5.6+marridb+apache部署项目时最终的时候遇到MYSQL_ATTR_INIT_COMMAND未定义报错,百度后发现是php扩展未添加
1.进入PHP源码包ext/pdo目录
cd ext/pdo 2.执行/usr/local/php/bin/phpize[假设PHP的安装目录为/usr/local/php] /usr/local/php/bin/phpize 3.配置扩展pdo ./configure --with-php-config=/usr/local/php/bin/php-config --enable-pdo=shared 4.编译安装pdo make && make install 成功则出现 Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/ Installing header files: /usr/local/php//include/php/ Installing PDO headers: /usr/local/php//include/php/ext/pdo/ 说明在/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo.so文件 6.在php配置文件中加上 extension=”/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo.so” 7.在PHP源码包中进入pdo_mysql cd ext/pdo_mysql 8.执行/usr/local/php/bin/phpize 9.配置pdo_mysql[假设Mysql的安装目录为/usr/local/mysql] ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql 10.编译pdo_mysql 安装pdo_mysql make && make install 成功则出现 Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/ 说明的/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo_mysql.so文件 12.在php配置文件中加上 extension=”/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so” 重启php和(nginx或Apache)即可!但是通过查看phpinfo,还是失败
通过strace命令跟踪服务
strace /usr/local/php7/sbin/php-fpm -i 2>1.log跟踪服务启动项发现我的php-fpm是在/etc/php/php.ini里启动它,而我之前一直在/usr/local/php/etc/php.ini里修改,所以无效,复制过去就解决了问题
本文转自 水滴的历程 51CTO博客,原文链接:http://blog.51cto.com/12390959/2048349
转载地址:http://btujl.baihongyu.com/