我想在Kubuntu 16.04上尝试最新版本的PHP,从那时起,我似乎无法在mysql中使用pdo。
当我启动php时,我收到以下警告:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
我正在跑步
PHP 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 5 2018 08:53:57) ( NTS )
我尝试使用此解决方案进行修复:https://askubuntu.com/a/824505,但我遇到了同样的问题。
然而,在phpinfo中,有一个为PDO(mysql)找到的驱动程序。 当我检查php -m时,找到了PDO和pdo_mysql。
在 / usr / lib / php / 20170718 和 / usr / lib / php / 20151012 文件夹中,有一个pdo_mysql.so。
我真的不知道还有什么可以尝试的。在此先感谢您的帮助。
答案 0 :(得分:1)
在我的情况下,我已经从Ubuntu 16.04更新到18.04,因此PHP 7.0到7.2。
原来仍然(部分)安装了PHP 7.0,并且是Apache的活动PHP-FPM处理程序。
我用来解决此问题的命令:(以root身份或通过sudo)
service php7.0-fpm stop
apt-get remove php7.0*
service php7.2-fpm restart
service apache2 restart
请务必将您从/etc/php/7.0
所做的任何INI更改复制到/etc/php/7.2
。
答案 1 :(得分:0)
sudo apt-get update
sudo apt-get install php7.2-pdo