【发布时间】:2015-07-09 08:55:24
【问题描述】:
我正在尝试使用 PDO 连接远程 Microsoft SQL 服务器。 在安装所需的驱动程序 (SQLSRV30) 之前,我的 phpinfo() 的配置命令部分显示 -
cscript /nologo configure.js "--enable-snapshot-build" "--without-dblib" "--without-pdo-dblib" "--without-pdo-mssql" "--with-pdo-oci=C:\php-
我已经安装了所需的驱动程序->php_pdo_sqlsrv_54_ts.dll 和 php_sqlsrv_54_ts.dll(我正在使用 PHP 5.4 和 APACHE 服务器)。我还在 php.ini 文件中进行了必要的更改 -
extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll
尽管如此,当我尝试与 MSSQL Server 建立连接时,出现错误提示 undefined function mssql_connect() 和未定义函数 sqlsrv_connect()。
php 信息页面仍然在配置命令部分显示->“--without-pdo-mssql”。
请帮忙解决问题!
PS:1) 使用 ODBC 时,odbc_connect() 函数可以正常工作。 2)我在编辑后刷新了几次Apache。 3) 我已将 .ts 文件保存在 C:\wamp\bin\php\php5.4.12\ext 文件夹中
【问题讨论】:
-
重启apache后sqlsrv部分是否出现在phpinfo()的输出中?如果没有,请检查您是否编辑了正确的 php.ini(路径也包含在 phpinfo() 的输出中)并检查 php 日志文件是否有启动错误。
-
@VolkerK 不,sqlsrv 部分不会出现在 phpinfo() 中。我检查了 phpinfo(); 中提到的 php.ini 文件;这是我编辑过的同一个文件。 error_log 也表示本地和主值没有值。
-
然后在 php.ini 中为 error_log 设置一个值,然后重试。例如error_log=c:/temp/php_errors.log 或其他一些有效的文件路径。重新启动 apache 后检查该文件的内容。
-
@VolkerK 除了 sqlsrv_pdo 我还保存了 php_pdo_mssql。他们可以通过任何改变发生冲突吗?
-
sqlsrv_pdo& php_pdo_mssql “他们可以通过任何改变发生冲突吗?” - 不知道,但我对此表示怀疑。
标签: php sql-server pdo sqlsrv