背景说明在 Windows 平台上使用 ThinkPHP 8.0 开发应用时,如果需要连接 SQL Server 数据库,可以考虑使用 pdo_sqlsrv 扩展。 但是有些环境默认没有安装 pdo_sqlsrv 扩展,本教程将介绍如何安装。 以 PHP8.0 nts 环境为例,则需要复制php_pdo_sqlsrv_80_nts_x64.dll及php_sqlsrv_80_nts_x64.dll这两个文件至 PHP 的 ext 目录下。 服务器,验证 pdo_sqlsrv 扩展是否安装成功。 查看 phpinfo 页面是否包含有 pdo_sqlsrv 扩展,如有则表示 pdo_sqlsrv 扩展安装成功。
-5.6.1.tgz 4.安装 先解压 tar -xvf pdo_sqlsrv-5.6.1.tgz cd pdo_sqlsrv-5.6.1 下面的执行路径根据自己的php路径修改: /usr/local 我的是 /usr/local/services/php-7.2/etc/php.ini 在文件最后加上一行: extension=pdo_sqlsrv.so 6.验证 有两个方法验证,一个是写个php php phpinfo(); 如果显示的的结果里显示pdo_sqlsrv即表示能正常运行 另一种方法是执行命令: /usr/local/services/php-7.2/bin/php --ri pdo_sqlsrv 会打印如下的结果: pdo_sqlsrv pdo_sqlsrv support => enabled ExtensionVer => 5.6.1 Directive => Local Value => Master Value pdo_sqlsrv.log_severity => 0 => 0 pdo_sqlsrv.client_buffer_max_kb_size => 10240 => 10240
我下载的时候,有两个版本,分别是SQLSRV20、SQLSRV30对应PHP 5.2和PHP 5.3以上的版本。从微软官方下载的是两个exe文件,实际上是一个可以自解压的压缩包。 二、之后根据自己的需要,选择对应的dll(php_pdo_sqlsrv_56_ts.dll,php_sqlsrv_56_ts.dll),拷贝到php安装路径的ext目录下。 修改php.in将mssql.secure_connection = Off改为mssql.secure_connection = On [PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv _56_ts.dll [PHP_SQLSRV] extension=php_sqlsrv_56_ts.dll 其中,ts表示线程安全,nts表示非线程安全。 ; } $query = sqlsrv_query($conn, "select * from uCourse"); while($row = sqlsrv_fetch_array($query))
我下载的时候,有两个版本,分别是SQLSRV20、SQLSRV30对应PHP 5.2和PHP 5.3以上的版本。从微软官方下载的是两个exe文件,实际上是一个可以自解压的压缩包。 [PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_ts.dll [PHP_SQLSRV] extension=php_sqlsrv_53_ts.dll 其中,ts
参考了下php官方手册总结了五种PHP连接MSsql server的方法,mssql_系列函数,sqlsrv_系列函数,odbc方式连接sqlserver,PDO方式连接sqlserver,COM方式连接 > 二、通过sqlsrv_系列函数 sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。 然后打开php.ini文件,在extension 后面添加一下配置 extension=php_pdo_sqlsrv_53_ts.dll extension=php_sqlsrv_53_ts.dll 重启 apache,查看phpinfo(),确保apache已经支持sqlsrv。 die( print_r( sqlsrv_errors(), true) ); } while($row = sqlsrv_fetch_array($stmt)) {echo $row
一、ThinkPHP3 的配置 二、ThinkPHP5 的配置 三、原生 pdo sqlsrv 连接 四、原生 sqlsrv 连接 五、总结 PHP 连接 sql server 一、ThinkPHP3 php return array( 'DB_TYPE' => 'sqlsrv', // 若填写 '127.0.0.1' 报 '命名管道提供程序: 无法打开与 SQL Server datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ]; 三、原生 pdo sqlsrv { // 服务器地址 若填写 '127.0.0.1' 报 '命名管道提供程序: 无法打开与 SQL Server 的连接' 错误 $conn = new PDO( "sqlsrv $e->getMessage()); } 四、原生 sqlsrv 连接 <?
用户名','密码'); 3、连接mssql2008 $connectionInfo = array("UID"=>用户名,"PWD"=>密码,"Database"=>"数据库名称"); $con = sqlsrv_connect while($row =mssql_fetch_array($result)) { $变量名称 = $row["字段名称"]; } 3、连接SQL SERVER2008 $result = sqlsrv_query ($con, $query); while($row = sqlsrv_fetch_array($result)) { $变量名称 = $row["字段名称"]; } 在php5.3及以后的版本中不附带 sqlsrv库了。 注意,用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv 函数都以 sqlsrv_ 打头,后跟动词或名词。
可以看到用于各个版本的扩展版本,我下载的最新的5.6,因为PHP版本使用的是7.3.2下载后将对应的dll危机复制到php安装目录的ext目录,并且在php.ini中添加扩展:BASICextension=php_pdo_sqlsrv _73_nts_x64extension=php_sqlsrv_73_nts_x642、安装扩展后还需要在电脑上安装对应的ODBC驱动:https://docs.microsoft.com/zh-cn/ 3、连接MSSQL如果使用的是Laravel,在.env中将DB_CONNECTION设为sqlsrv,即可。 connectionInfo = array( "Database" => 'table', "UID" => 'sa', "PWD" => '123456');$conn = sqlsrv_connect ('127.0.0.1', $connectionInfo);if ($conn) { $sql = "select * from users; $data = sqlsrv_query($
Phar posix random readline redis Reflection session shmop SimpleXML soap sockets sodium SPL sqlite3 sqlsrv imagick, exif, mongodb, msgpack, mysqlnd, mysqli, pcntl, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pdo_sqlsrv , pgsql, Phar, posix, readline, redis, Reflection, shmop, SimpleXML, soap, sodium, sqlsrv, sysvmsg, sysvsem , pgsql, Phar, posix, random, readline, redis, Reflection, shmop, SimpleXML, soap, sodium, sqlsrv, sysvmsg sysvshm, tokenizer, zip, zlib, libxml, dom, exif, igbinary, mysqli, PDO, pdo_mysql, pdo_sqlite, pdo_sqlsrv
thinkphp调整如下:// PDM数据库配置'pdm' => [// 数据库类型'type' => 'sqlsrv',// 连接dsn'dsn' => 'sqlsrv:Database=pdm;Server
'pgsql' => new PostgresConnector, 'sqlite' => new SQLiteConnector, 'sqlsrv 'sqlite' => new SQLiteConnection($connection, $database, $prefix, $config), 'sqlsrv
接着,我们需要去php.ini中添加所要加载的扩展 我们安装的是PHP7.2的64位非线程安全版本,所以这里需要添加如下的内容 extension=php_pdo_sqlsrv_72_nts_x64extension =php_sqlsrv_72_nts_x64 ?
192.168.20.200 l 网关:192.168.20.254 主机名 功能角色 IP地址 操作系统 备注 Dc1 域控制器、证书、文件服务器、DNS 192.168.20.10 Win2k12 Sqlsrv
return new SQLiteConnection($connection, $database, $prefix, $config); case 'sqlsrv PostgresConnector; case 'sqlite': return new SQLiteConnector; case 'sqlsrv
return new SQLiteConnection($connection, $database, $prefix, $config); case 'sqlsrv PostgresConnector; case 'sqlite': return new SQLiteConnector; case 'sqlsrv
框架所需扩展 Apcu缓存 Memcached缓存 pdo\_sqlsrv PHP7代码版本 兼容于Linux和Windows 引用技术 ACE代码编辑器 Ueditor百度富文本编辑器 MarkDown
Data_Source_Name Driver_Name Driver_Ver "SQL SERVER" "SQLSRV32
DB::$init) DB::initialize(); $res = sqlsrv_query(DB::$con, $sql, $values); if ($res = DB::$init) DB::initialize(); $values = DB::prepare_params($values); $x = sqlsrv_query filename:db.php private static function retrieve_values($res) { $result = array(); while ($row = sqlsrv_fetch_array
Php_pdo 扩展列表 - MySQL, MariaDB -> php_pdo_mysql - MSSQL (Windows) -> php_pdo_sqlsrv - MSSQL (Liunx/UNIX
, 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], 'sqlsrv ' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'port' =>