这类问题大多数都只是说开启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开始:
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去掉)
好了,一个搞定了。