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.so
php.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