php - 找不到驱动程序,将php连接到sql server
问题描述
再会,
我正在尝试使用 php 连接到 Microsoft sql server 数据库我下载了 sql server 的 php 驱动程序并将它们放在扩展文件夹中。
我也对 php.ini 文件进行了一些调整,以包含新的扩展。
作为网络服务器,我使用的是类似于 XAMPP 的服务器,但相反,该服务器是便携式服务器,您可以将其放在 USB 记忆棒上并使用其他机器来完成您的开发工作。它被称为 USB 网络服务器。
每次我运行 php 脚本时,我都会收到错误消息:“找不到驱动程序”。我知道这个错误表明我与数据库的连接不成功。我不知道我做错了什么,我需要一些帮助。
以下是我连接数据库的代码:
$DB_HOST = 'DESKTOP-AKQUS0J\SQLEXPRESS';
$DB_USER = '';
$DB_PASS = '';
$DB_NAME = 'slddweb';
try{
$pdo = new PDO("sqlsrv:Server={$DB_HOST};Database={$DB_NAME}","
{$DB_USER}","{$DB_PASS}");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo $e->getMessage();
}
上面的脚本存储在一个名为 connect.php 的文件中
我使用以下代码来检测我当前使用的 php 版本:
echo 'Current PHP version: ' . phpversion();
这表明我使用的是 php 5.4 版
我从这里下载了 php 的驱动程序以使用 sql server: https ://www.microsoft.com/en-us/download/details.aspx?id=20098 我在单击第三个复选框时下载了第三个文件。
名称为 php_sqlsrv_54_ts.dll 和 php_pdo_sqlsrv_54_ts.dll 的两个文件被复制到位于 php 文件夹中的扩展文件夹中。
这些文件名被放置在 php.ini 文件的扩展部分。
完成上述操作后,我重新启动了服务器......当我运行 php 脚本时,我从 connect.php 收到错误消息
任何帮助,将不胜感激。
解决方案
确保在 PHP 中加载了 sql server 扩展。你可以php -m
用来检查它。扩展名为php_sqlsrv
. 和
- SQLSRV40 for PHP 7.0+ (Windows、Linux)
- SQLSRV32 for PHP 5.6、5.5、5.4(Windows)
- SQLSRV31 for PHP 5.5(Windows)
- SQLSRV30 for PHP 5.4(Windows)
推荐阅读
- javascript - 使用 Vue 和 Ant Design Table 显示来自 Ajax 的数据
- python - 如何提出回溯问题的时间复杂度?
- php - 如何通过cron php在API中插入数据
- java - 如何获取特定数据并将其用作从 firebase 中另一个表中获取另一个数据的键
- python-3.x - 如何解决virtualenv中的“没有名为'cPickle'的模块”异常
- python - Python Plotting API:如何通过烧瓶 API 公开您的科学 Python 图?
- swift - 如何根据用户给出的数量使用循环显示AZ字符?
- javascript - 将 pug 编译的内容附加到 pug 模板
- git - Visual Studio 2017 的多个 Git 存储库
- javascript - jsx 和 React 中的动态标签名称不传递道具