繁体   English   中英

PHP启动:无法加载动态库'C:\\\\ xampp \\\\ php \\\\ ext \\\\ php_sqlsrv_7_nts.dll'

[英]PHP Startup: Unable to load dynamic library 'C:\\xampp\\php\\ext\\php_sqlsrv_7_nts.dll'

我想通过XAMPP在本地计算机上连接SQL Server。 为此,我使用以下规格:

  • XAMPP
  • PHP 7.0.15
  • SQL Server 2012

我已经从这里这里安装了驱动程序。 我还链接了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 Modul 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时收到PHP启动错误,则意味着您正在将PHP作为Apache模块运行。 在这种情况下,您应该使用Windows的下载页面中所述的线程安全版本的PHP:

使用Apache,您必须使用PHP的线程安全(TS)版本。

TS是指具有多线程功能的构建。 NTS仅指单线程构建。 TS二进制文件的用例涉及与多线程SAPI和作为模块加载到Web服务器的PHP的交互。 对于NTS二进制文件,广泛的用例是通过FastCGI协议与Web服务器进行交互,而不使用多线程(例如CLI)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM