ubuntu服务器linux部署thinkphp出现Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'解决方案

这类问题你看百度,大多数都只是说开启php.ini扩展,这类回答不是不能解决这类问题,而是有时解决不了,那我就来给大家完整彻底解决

因为除了大家常见的开启php扩展外有时很可能时根本就没扩展包


【出现这类问题的原因】:第一,可能只是下面的php配置扩展没开启

 extension=php_pdo.dll                          //开启PDO(注意:在linux系统下可能没有)
 extension=php_pdo_mysql.dll               //PDO 访问mysql 驱动

如果你开启上面的扩展后就解决了,那就不需要往下看了。如果还是依旧没解决,那就继续往下看

在php.ini文件中增加以下几项(注意,这里时Linux系统,如果不是下面的扩展项不用加,直接进行pdo扩展安装就行了)

extension=pdo.so
extension=pdo_mysql.so


同时安装pdo扩展,因为有些系统默认是没有装pdo扩展的,例如ubuntu就是

下面我就以ubuntu为例来进行展示pdo扩展的安装(其它系统自己百度,因为原因我已经告诉你了)


安装pdo开始:(此处部分借鉴了这篇文章:http://blog.csdn.net/u014702332/article/details/51728776)


sudo apt-get install php5-dev  (注意:如果你是php7.0以上的,请将5去掉)
sudo apt-get install php-pear
sudo apt-get install libmysqlclient15-dev 
完成以上安装之后,开始安装pdo


sudo pecl install pdo
[Some stuff excluded for brevity]
make: *** [pdo_dbh.lo] Error 1 ERROR: `make' failed
上面的报错只是说明pdo已经加入了php的默认安装,不需要再另外安装。所以可以继续安装pdo_mysql


sudo pecl install pdo_mysql
此时会报错如下:


[Some stuff excluded for brevity]
checking for PDO includes... checking for PDO includes...
configure: error: Cannot find php_pdo_driver.h.
ERROR: `/tmp/pear/temp/PDO_MYSQL/configure' failed
以上表示在pear中找不到pdo_mysql 驱动,那重新安装php5-mysql看看 


sudo apt-get install php5-mysql  (注意:如果你是php7.0以上的,请将5去掉)
安装成功后,运行正常。虽然我们好像已经在apt安装过该php5-mysql,但是这里还是需要再安装一遍。 (注意:如果你是php7.0以上的,请将5去掉)


好了,一个搞定了,如果你的问题还没解决,请给我留言,不管你时windows系统还是Linux系统,欢迎留言

你可能感兴趣的:(linux)