Php无法识别PDO_DBLIB驱动程序
发布时间:2020-12-13 22:54:36 所属栏目:PHP教程 来源:网络整理
导读:所以我正在编写一些代码,以便我可以访问Microsft SQL Server.我正在编写的代码是在Centos 7机器上.我已经安装了php mysql和mssql包,但是当我运行时 echo "pre",print_r(PDO::getAvailableDrivers()),"/pre"; 我得到以下输出: Array( [0] = mysql [1] = pgsq
所以我正在编写一些代码,以便我可以访问Microsft SQL Server.我正在编写的代码是在Centos 7机器上.我已经安装了php
mysql和mssql包,但是当我运行时
echo "<pre>",print_r(PDO::getAvailableDrivers()),"</pre>"; 我得到以下输出: Array ( [0] => mysql [1] => pgsql [2] => sqlite ) 我重新启动了灯泡,仍然得到了相同的结果. 我还编辑了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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |