在操作服务器的时候不知道怎么回事突然提示Undefined class constant 'MYSQL_ATTR_INIT_COMMAND',查找资料发现是php缺少pdo_mysql的扩展。:(
Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
错误位置
FILE: /usr/local/apache/htdocs/wechat/ThinkPHP/Library/Think/Db/Driver/Mysql.class.php LINE: 36
怎么安装pdo_mysql的扩展呢?
环境:linux+nginx+mysql+php。
思路:我这里就是直接重新的安装php了,具体的单个安装自行百度。
解决方法:rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install --enablerepo=remi --enablerepo=remi-php56 php php-bcmath php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-gd php-xml php-memcache php-redis php-fpm php-mysql php-common php-mssql
当看到Complete!的时候,就说明是安装完毕了。
启动php:service php-fpm start
如何判断是否安装正常:
1、查找是否php安装默认l路径是/usr/lib64/php/modules。看看是否包含pdo_mysql.so的文件。
2、通过phpinfo()。函数去查看。
上面的方法很简单的解决了thinkphp提示Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'报错的问题。