it-swarm.com.de

PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion mssql_connect ()

Ich habe PHP noch nie zuvor verwendet und versuche, eine Verbindung zu einer SQL Server 2008-Instanz auf einem Windows-Computer herzustellen, auf dem IIS7 und PHP5.3 ausgeführt werden.

Ich habe SQLSRV30.EXE von here in C:\Program Files (x86)\PHP\ext heruntergeladen und installiert und dies zu C:\Program Files (x86)\PHP\php.ini hinzugefügt:

extension=php_sqlsrv_53_nts.dll

Dann den gesamten Server neu gestartet. Ich bekomme immer noch schwerwiegende Fehler in meiner Protokolldatei und sagt:

PHP Fatal error:  Call to undefined function mssql_connect()

Was muss ich tun, um eine Verbindung zu Microsoft SQL Server 2008 von PHP 5.3 unter IIS7/Windows Server 2008 herzustellen? Ich bin sicher, es ist etwas wirklich Dummes, das mir fehlt ...

FULL PHPINFO ->http://demo.mandibleweb.com/zapified/hello.php

phpinfo (): 

PHP Version 5.3.10





System 

Windows NT MWD001 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 



Build Date 

Feb 2 2012 20:10:58 



Compiler 

MSVC9 (Visual C++ 2008) 



Architecture 

x86 



Configure Command 

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\Oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet" "--with-mcrypt=static" "--disable-static-analyze" 



Server API 

CGI/FastCGI 



Virtual Directory Support 

disabled 



Configuration File (php.ini) Path 

C:\Windows 



Loaded Configuration File 

C:\Program Files (x86)\PHP\php.ini 
17
Greg

Ich habe gerade versucht, diese Erweiterung auf meinem Dev-Server zu installieren.

Stellen Sie zunächst sicher, dass die Erweiterung richtig aktiviert ist. Ihre phpinfo()-Ausgabe scheint nicht vollständig zu sein.

Wenn es tatsächlich installiert ist, sollte Ihre phpinfo() einen Abschnitt haben, der wie folgt aussieht: enter image description here

Wenn Sie diesen Abschnitt nicht in Ihrer phpinfo() erhalten. Stellen Sie sicher, dass Sie die richtige Version verwenden. Es gibt sowohl nicht Thread-sichere als auch Thread-sichere Versionen der Erweiterung.

Überprüfen Sie abschließend Ihre extension_dir-Einstellung. Standardmäßig ist dies Folgendes: extension_dir = "ext", meistens funktioniert es einwandfrei, aber wenn es nicht versucht: extension_dir = "C:\PHP\ext".

================================================== ===========================

EDIT gegebene neue Info:

Sie verwenden die falsche Funktion. mssql_connect() ist Teil der Erweiterung Mssql . Sie verwenden die Erweiterung von Microsoft, also verwenden Sie sqlsrv_connect(). Sehen Sie sich SQLSRV_Help.chm für die API für den Microsoft-Treiber an, die in das Verzeichnis ext extrahiert werden soll, wenn Sie die Erweiterung extrahieren.

31
F21

php.ini muss wahrscheinlich lesen: extension=ext\php_sqlsrv_53_nts.dll

Oder verschieben Sie die Datei in dasselbe Verzeichnis wie die ausführbare PHP-Datei. Das habe ich diese Woche mit meiner PHP5-Installation gemacht, damit odbc_pdo funktioniert. : P

Außerdem sieht das nicht nach einer richtigen Ausgabe von phpinfo () aus. Wenn Sie eine Datei mit Inhalten erstellen
<? phpinfo(); ?> und besuchen Sie diese Seite, die HTML-Ausgabe sollte mehrere Abschnitte enthalten, darunter einen mit geladenen Modulen. (Bearbeitet, um hinzuzufügen: wie im Screenshot der oben akzeptierten Antwort gezeigt)

1
Chris K

Ich verwende IIS und mysql (direkt heruntergeladen, ohne wamp oder xampp) Mein PHP wurde in c:\php .__ installiert. Ich erhielt den Fehler "Aufruf an undefined function mysql_connect ()" Für mich hat die Änderung von extension_dir funktioniert. Das habe ich getan. In der php.ini hatte ich ursprünglich diese Zeile

; Unter Windows: extension_dir = "ext"

Ich habe es geändert in:

; Unter Windows: extension_dir = "C:\php\ext"

Und es hat funktioniert. Natürlich habe ich die anderen Dinge auch gerne auskommentiert, wie zB in den anderen Anmerkungen.

0
M Shiraz Baig