【发布时间】:2017-08-04 16:25:45
【问题描述】:
我想通过 XAMPP 连接本地计算机上的 SQL Server。为此,我使用以下规格:
- XAMPP
- PHP 7.0.15
- SQL Server 2012
我已经安装了来自here 和here 的驱动程序。我还在 x86(32 位)版本中链接了非线程安全驱动程序 php_sqlsrv_7_nts_x86.dll。当我现在通过 XAMPP 控制面板启动 apache 服务器时,它在来自 apache 的 error_log 中给了我一个错误。
PHP 警告:PHP 启动:无法加载动态库 'C:\xampp\php\ext\php_sqlsrv_7_nts.dll' - Das angegebene 模块 wurde nicht gefunden。\r\n 在第 0 行的未知中
这是一条德语错误消息,表示未找到该模块。
这是我的 php.ini 文件,将被加载:
extension_dir="C:\xampp\php\ext"
...
extension=php_pdo_sqlsrv_7_nts.dll
extension=php_sqlsrv_7_nts.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
;extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
所以 dll 文件位于默认的ext 文件夹下。出了什么问题?
我觉得肯定有问题,apache没有找到dll文件。但是在资源管理器中,dll文件和我在php.ini中写的同名。
【问题讨论】:
-
但是我已经完成了这些步骤。我不知道为什么 apache 找不到我的 dll。
-
我很确定你必须在 Windows 上使用带有 XAMPP 的
Thread Safe版本,而不是NTS版本 -
非常感谢,这就是答案。我从之前的一个问题中听说,XAMPP 使用非线程安全。
标签: php sql-server apache dll