在自定义编译的 PHP7 版本上收到此警告,即使在运行php -v
时也是如此。
已尝试发布的所有解决方案。 什么原因可能导致这种情况?
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/pdo_mysql.so' -/usr/lib/php/20151012/pdo_mysql.so:未定义的符号:第 0 行未知mysqlnd_allocator
与此有类似的问题,但它们并不完全相同 - 它们通常与缺少mcrypt
库有关。我确认mycrypt实际上已加载,并且在打印phpinfo()时pdo_mysql
。订单有问题吗?另外,这是针对 PHP 7 的,我相信它对 ini 文件有不同的格式。
编辑:按照此处的说明进行重新编译。 在这方面不太有经验:http://www.hashbangcode.com/blog/compiling-and-installing-php7-ubuntu
另外,用apt-get purge
完全删除了MySQL。 什么都没有运气。
我发现我有
extension=pdo_mysql
在我的 php.ini 文件中未注释,这导致了问题。 库由我系统上/etc/php/7.4/cli/conf.d/文件中的文件加载,不需要通过在 php.ini 文件中取消注释行来加载。
(代表OP发布)。
按顺序执行的命令;然后我从系统中完全删除了MySQL和PHP:
sudo apt-get update
sudo apt-get install php7.0
sudo apt-get install php7.0-mysql
这似乎已经修复了错误。呜。
有时php.ini
文件中的扩展名未正确加载存在问题。 我有类似的错误,只有在我pdo_mysql到php.ini
之前添加这些扩展后,它才开始工作:
extension=mysqlnd
extension=pdo
extension=pdo_mysql
它终于奏效了!
但是,它显示警告说mysqlnd,PDO和pdo_mysql之前已加载,这意味着pdo_mysql
已启用并且可以完全注释掉。有关更多信息,请查看 PHP 警告:模块已加载到第 0 行的未知