gpt4 book ai didi

Php 无法识别 PDO_DBLIB 驱动程序

转载 作者:可可西里 更新时间:2023-10-31 23:40:00 26 4
gpt4 key购买 nike

所以我正在编写一些代码,以便我可以访问 Microsft SQL Server。我正在编写的代码是在 Centos 7 机器上。我已经安装了 php mysql 和 mssql 包,但是当我运行

echo "<pre>", print_r(PDO::getAvailableDrivers()), "</pre>";

我得到以下输出:

Array
(
[0] => mysql
[1] => pgsql
[2] => sqlite
)

我已经重新启动 lampp,但仍然得到相同的结果。

我还编辑了 php.ini 以包含 extension=php_mssql.so,然后重新启动 lampp,仍然得到相同的输出。

当我运行 pdo 脚本时:

try
{
$con = new PDO("dblib:host=".$db_addr.";dbname=".$db_name.";charset=utf8", '".$db_usr."', '".$db_pass."');
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "ERROR: ". $e->getMessage();
die();
}

我总是得到:

ERROR: could not find driver

我意识到这需要在 php.ini 中配置,但是输出的驱动程序在 php.ini 中被注释掉了,因此我很困惑。

有人可以指导我正确的方向吗?

编辑:我在here 中关注了@jap1968 的回答。 , 但我卡在了现在的位置。

最佳答案

我找到了为什么这不起作用。我使用 xampp 安装了灯组。所以我很难获得额外的模块。

为了解决这个问题,我重新安装了 apache 服务器 (httpd)、mysql (MariaDB) 和 php,然后按照 @jap1968 在 here 中的回答设法添加了我需要的驱动程序。 .

安装驱动程序后,默认情况下,CentOS 仅使用控制台启用 MS SQL Server 连接。因此,当我使用浏览器访问我的脚本时,我收到一条错误消息,指出服务器不可用。

要通过您需要使用的浏览器进行访问(我使用 root 权限运行它,也可能需要几秒钟):

# setsebool -P httpd_can_network_connect=1

关于Php 无法识别 PDO_DBLIB 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com