在ubuntu搭建号环境后,访问项目时,显示
could not find driver
原因是没有安装到pdo_mysql扩展
windows比较简单,打开php.ini
extension=php_pdo_mysql.dll
把这个前面分号去掉。
然而linux下面是要手动安装。
源码安装的php的话,进入到解压的源码目录
root@k3rw1n:/usr/local/src/php-7.2.13/ext/pdo_mysql#
根据自己目录不同修改。
/usr/local/php/bin/phpize
如果提示没有就安装 再执行
./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql/
注意第二个是mysql的安装路径
make && make install
然后生成一个pdo_mysql.so的文件 路径类似于
/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
然后在php.ini
中添加
extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/pdo_mysql.so
重启。
执行phpinfo();
注意:Loaded Configuration File (划红线部分)如果是none 证明安装的时候,没有使用到配置文件php.ini,照样提示 could not find driver,并不是安装扩展的问题。如果出现描述问题可看下面。
附:php-fpm指定php.ini路径(适用于nginx访问)
root@k3rw1n:/usr/local/src/php-7.2.13/ext/pdo_mysql# /usr/local/php/sbin/php-fpm -y ./php-fpm.conf -c ./php.ini
注意:linux下安装的pdo_mysql扩展一定要跟你的PHP版本一致,(建议从源码包安装)不能随便乱安装,否则你会发现就算成功安装这个扩展生成了so,但是phpinfo里面依然不会成功显示。