关于linux下部署项目时遇到MYSQL_ATTR_INIT_COMMAND未定义时解决办法

  1. 云栖社区>
  2. 博客>
  3. 正文

关于linux下部署项目时遇到MYSQL_ATTR_INIT_COMMAND未定义时解决办法

科技小能手 2017-11-12 20:59:00 浏览794
展开阅读全文

最近学习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


网友评论

登录后评论
0/500
评论
科技小能手
+ 关注