Linux:未定义符号:php_pdo_register_driver,位于第 0 行未知

Linux:未定义符号:php_pdo_register_driver,位于第 0 行未知

extension=pdo_sqlsrv.so 当我在 Linux 服务器的 php.ini 文件中添加扩展时,PHP v7.0出现以下错误

undefined symbol: php_pdo_register_driver in Unknown on line 0

请帮我。

谢谢

答案1

pdo.so在所有其他 pdo 类型的库之前添加该库。

在 php.ini 中使用此命令

extension=pdo.so
extension=pdo_sqlsrv.so
extension=sqlsrv.so

之后,重新启动service apache2 restart

对我有用。

答案2

sqlsrv对于尝试在 php 7.4 和 Ubuntu 18.04 上加载的任何人pdo_sqlsrv,您可能需要执行以下操作:

php7.4示例:

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

注意:对于旧版本的 PHP,您需要指定模块的版本。

php7.1示例:

pecl install sqlsrv-5.7.0preview
pecl install pdo_sqlsrv-5.7.0preview

然后以 root 身份登录:

sudo su -
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.4/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.4/mods-available/pdo_sqlsrv.ini

注意:不要在文件中添加extension=sqlsrv.so和。而是启用模块。extension=pdo_sqlsrv.sophp.ini

sudo phpenmod -v 7.4 sqlsrv pdo_sqlsrv
sudo apachectl restart

现在,如果您在浏览器或命令行中加载,phpinfo()则应该已经启用pdo_sqlsrv支持。

PHP Version 7.4.16

pdo_sqlsrv
pdo_sqlsrv support  enabled
ExtensionVer    5.9.0
Directive   Local Value Master Value
pdo_sqlsrv.client_buffer_max_kb_size    10240   10240
pdo_sqlsrv.log_severity 0   0
pdo_sqlsrv.report_additional_errors 1   1
pdo_sqlsrv.set_locale_info  2   2

答案3

要修复此问题,请在终端 linux centos 7 中输入:

步骤1:

php --ini
find /etc/php.d/20-pdo.ini 

编辑文件并附加extension=sqlsrv.so extension=pdo_sqlsrv.so
笔记:评论extention extension=sqlsrv.so/etc/php.iniextension=pdo_sqlsrv.so

第2步:

重启 httpd

步骤3:

php -m #you see loaded module

相关内容