Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP mit MS SQL Server

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] PHP mit MS SQL Server

    Hallo zusammen!

    Habe bisher immer nur mit PHP und MySQL und Apache gearbeitet.
    Muss allerdings jetzt auf der Arbeit PHP mit IIS und MS SQL Server nutzen und bin auf eure Hilfe angewiesen.

    Der SQL Server und der IIS mit PHP laufen schon. Der IIS interpretiert auch die PHP-Dateien. Allerdings kann ich nicht auf den MS SQL Server zugreifen. Bei meiner Recherche habe ich gelesen, dass dafür einige Zusätze notwendig sind.
    Ich habe also in die php.ini jetzt
    Code:
    extension=php_mssql.dll
    eingetragen.
    Die ntwdblib.dll liegt auch im System32-Verzeichnis des Rechner mit PHP (Ist alles lokal auf einer virtuellen Maschine installiert.)


    Kriege jetzt folgende Fehlermeldung:
    PHP Warning: PHP Startup: Unable to load dynamic library './php_mssql.dll' - Das angegebene Modul wurde nicht gefunden. in Unknown on line 0 PHP Fatal error: Call to undefined function mssql_connect() in C:\Inetpub\wwwroot\test1.php on line 8
    Bevor ichextension=php_mssql.dll in die php.ini eingetragen hatte, war es nur der Teil hinter "line 0".


    Meine Probleme:
    • Die php_mssql.dll habe ich runtergeladen, weiß aber nicht in welches Verzeichnis sie müssen (Ich denke in \PHP\EXT\, allerdings gibt es ein solches VZ nicht. Muss ich das anlegen?)
    • Diese Aussage finde ich auf allen Seiten zu dem Thema, kann mit ihr aber gar nichts anfangen: "Damit diese Funktionen zur Verfügung stehen, müssen Sie PHP mit --with-mssql[=DIR] übersetzen, wobei DIR der Präfix der FreeTDS-Installation ist. Und FreeTDS muss mit --enable-msdblib übersetzt werden."
    • Muss ich eine ODBC Verbindung herstellen?

    Danke für eure Hilfe!

    Gruß Tofte83


  • #2
    was sagt denn ein php_info() ? da kannst du ja sehen ob mssql geladen ist

    unter xampp (also apache) ist die php_mssql.php tatsächlich in php/ext und nochmal in php/extensions, aber benutz doch mal die windows suche und schau wo php_*.dll dateien liegen

    Kommentar


    • #3
      Zitat von cycap Beitrag anzeigen
      was sagt denn ein php_info() ? da kannst du ja sehen ob mssql geladen ist
      Finde keinen Eintrag mit mssql ==> wird wohl nicht geladen sein.


      Zitat von cycap Beitrag anzeigen
      unter xampp (also apache) ist die php_mssql.php tatsächlich in php/ext und nochmal in php/extensions, aber benutz doch mal die windows suche und schau wo php_*.dll dateien liegen
      Ich finde nur eine, die php5ts.dll und die liegt direkt unter C:\PHP\
      Ich werde die Datei einfach mal direkt da rein kopieren und alternativ auch ein \ETX\ anlegen. Mal sehen was passiert.

      Kommentar


      • #4
        Hab PHP nochmal neu installiert und diesmal die MS SQL Extensions mitinstallieren lassen (sind standardmäßig nicht gewählt), jetzt scheint es zu klappen, wobei ich jetzt einen anderen Fehler bekommen. (Die angegebene CGI-Anwendung hat keinen vollständigen Satz von HTTP-Headern zurückgegeben.) Aber mal sehen. Wird sich schon irgendwie lösen lassen. Ich frag mal im Anfängerforum nach.

        Kommentar


        • #5
          Ich sehe dass das Thema zwar schon drei Jahre alt ist, aber hatte heute Nacht selber mit diesem Problem zu kämpfen und nirgends eine Antwort erhalten.

          Meine Konstellation, ein Windows 2008 Server (x86) mit MSSQL 2008 R2 Server und PHP über den Web Platform Installer installiert, es läuft als Fast CGI Modul.

          Wer trotz korrekt konfigurierter php.ini nicht mit dem SQL Server verbinden kann, weil die mssql Extension fehlt und nicht geladen wird sollte mal folgendes ausprobieren:

          Shell öffnen und "php -m" ausführen, wenn nun ein Dialog erscheint in dem steht dass die "MSVCR71.dll" fehlt dann diese hier downloaden oder aus dem Anhang von diesem Post entnehmen und in das Verzeichnis "C:\Windows\System32" kopieren.

          Vorsicht, ich bin mir nicht sicher ob die x86 dll unter x64 läuft und habe daher eine x64 dll in diesem Post hier hinterlegt. Diese unter dem x64 System in das "C:\Windows\SysWOW64" Verzeichnis kopieren.

          Sichergehen dass die MSSQL Extension existiert, "php -m" sollte keine Fehlermeldungen mehr ausgeben, falls doch dann mal nachsehen ob die Module installiert sind "Start" -> "Systemsteuerung" -> "Programme und Funktionen" -> "PHP 5.x.x" -> "Ändern" (oben) -> PHP Setup Fenster "Weiter" -> "Ändern" -> "IIS Fast CGI" -> "Extensions" erweitern -> "MSSQL" auswählen -> "PDO" erweitern -> "Microsoft SQL Server" auswählen -> "weiter" -> "Ändern" und Installation abschließen.

          Zudem ist mir aufgefallen das trotz Setup Installation einige Extensions wie z.B. die "php_mime_magic" gefehlt haben, daher habe ich einige Extensions gezipped auch in dem Tutorials Thread hier hinterlegt. Auch hier aus einem x86 und x64 System, da ich mir auch hier nicht sicher bin ob es von der Installation unter verschiedenen Systemen Unterschiede gibt. Bei einem x64 System wird zwar in das "Programme (x86)" Verzeichnis installiert, sollten also x86 bins sein aber man weiß ja nie.

          Ich hoffe Euch hilft dieser Post und erspare Euch etwas Zeit an Arbeit und Nerven.

          Grüße aus München

          Kommentar

          Lädt...
          X