出现这种情况,一般是数据库驱动不存在,没有连接上数据库。未成功实例化数据库。绝大多数情况是缺少PDO扩展。安装PDO扩展即可。
windos环境下安装PDO:
1:查看PHP.ini位置,并打开。
2:打开后,搜索 extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注释。最终得到的结果如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
3:重启你的服务。
linux环境下:(PHP源码安装PDO)
1:cd /fujieace/php7/ext/pdo
2:/fujieace/php/bin/phpize
3:./configure -with-php-config=/fujieace/php/bin/php-config
4: make && make install
5:把生成的.so 扩展, 在 php.ini 里引入.
6:重启服务
2018年02月26日 14:20:36 沙发
我的thinkphp3.2 也出现了 Undefined class constant ‘MYSQL_ATTR_INIT_COMMAND’ ;我还以为是其它的问题呢?后来我PHP官网查了一下,结果如下:
MYSQL_ATTR_INIT_COMMAND这个方法果然是PDO扩展里面的,看来我不安装PDO也是不行了,我都不打算装PDO扩展的。
2017年08月11日 21:07:13 板凳
原来是微少PDO扩展,我说怎么老是不对,排查了很长时间也没有发现有问题。原来是少了PDO扩展!看来:以后要在扩展这块要注意了