我正在使用的服务器正在运行 php 5.5,它安装了 FreeTDS dblib。
php -v
返回;
PHP 5.5.0-dev (cli) (built: Oct 23 2012 15:41:58)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
构建就是这样;
Configure Command => './configure' '--with-apxs2=/usr/bin/apxs2' '--enable-track-vars' '--with-mssql' '--with-png-dir=/usr' '--with-jpeg-dir=/usr' '--with-zlib-dir=/usr' '--enable-ftp' '--with-gd' '--enable-freetype-4bit-antialias-hack' '--with-config-file-path=/etc' '--enable-calendar' '--with-curl' '--with-curlwrappers' '--enable-exif' '--with-mysql' '--with-ldap' '--with-freetype-dir=/usr' '--enable-sockets' '--with-pdo-mysql' '--enable-soap' '--with-mcrypt' '--with-pdo-dblib' '--with-openssl' '--enable-sysvsem' '--enable-shmop' '--enable-pcntl' '--with-xsl'
我只是尝试使用以下内容连接到 SQL Server 框;
<?php $pdo = new PDO ('dblib:host=fqdn,port;dbname=db', 'usr', 'passwd'); ?>
输出如下;
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[] (null) (severity 0)' in /path/to/file.php:17 Stack trace: #0 /path/to/file.php(17): PDO->__construct('dblib:host=fqdn...', 'usr', 'passwd') #1 {main} thrown in /path/to/file.php on line 1
在对现有的堆栈帖子进行了大量搜索后,它们都与自 5.2 RC 或更早版本的 FreeTDS 以来 PHP 的错误修复有关。考虑到这个服务器是 5.5 和更高版本的 FreeTDS,我想知道是否有人对这个非常有用的空 SQL 状态错误消息有答案。
有趣的是,按照确认您的 FreeTDS 安装的指南建议了无法为我运行的命令。我将尝试重新安装 FreeTDS。