Jul*_*kli 2 php sql-server apache dll
我想通过XAMPP在本地计算机上连接SQL Server。为此,我使用以下规格:
我已经从这里和这里安装了驱动程序。我还链接了php_sqlsrv_7_nts_x86.dllx86(32位)版本中的非线程安全驱动程序。现在,当我通过XAMPP控制面板启动apache服务器时,它会给我error_logfrom apache中的错误。
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
Run Code Online (Sandbox Code Playgroud)
因此,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)。