sql >> Databasteknik >  >> RDS >> Sqlserver

PHP IIS7 MSSQL Anrop till odefinierad funktion sqlsrv_connect

Jag hade precis det här problemet själv. Jag fick det äntligen fixat, så jag tänkte dela med mig.

Problemet var att även om jag hade sqlsrv dll installerad (kopierad till min php/ext-mapp), och Jag lade den till i min php.ini, i IIS, den var "inaktiverad" .

Här är några steg-för-steg-instruktioner, om någon har samma problem igen. (Eller för framtida referens för mig :))

  1. Ladda ner (och installera) SQL Server-drivrutinerna (.dll)

    • Installera dem genom att köra .exe och skriv sökvägen till din php-tilläggsmapp när den frågar dig var du ska dekomprimera dem.
      • För att hitta din nuvarande tilläggskatalog, kör (cmd.exe) php -i | more , och leta efter raden extension_dir . (För mig var det den fjärde tryckningen på more ). Alternativt, skapa en enkel php-fil som bara innehåller <?php phpinfo(); ?> , och kör den i webbläsaren. Detta kommer att ge samma information, men i ett mycket lättare att läsa format.
  2. Lägg till tillägget till din php.ini

    • För att hitta rätt php.ini, kör antingen php -i | more igen, letar efter Loaded Configuration File , eller kolla det enkla php-skriptet igen (jag rekommenderar starkt att du gör det - det sparar tid och ansträngning). Sökvägen du hittar där är filen du behöver redigera.
    • Lägg till följande rader till din php.ini och spara den:

      [PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll

  3. Aktivera tillägget i IIS Manager

    • I startmenyn skriver du IIS Manager och tryck på enter.
    • Klicka på serverns namn i det vänstra sidofältet
    • Klicka på PHP Manager
    • Under PHP Extensions klickar du på Enable or Disable an Extension .
    • Om ditt tillägg inte är under Enabled , titta under Disabled för det. När du hittar den högerklickar du på den och klickar på Enable i snabbmenyn som visas.
  4. Testa för att se till att det fungerade

    • Öppna den phpinfo() sida du skapade (det gjorde du, eller hur?), och titta under Registered PHP Streams . Om du ser sqlsrv i den listan är du klar!


  1. Har mysql motsvarigheten till Oracles analytiska funktioner?

  2. Hur väljer man inuti en FOR-loop för ytterligare beräkningar?

  3. Göra dynamiska SQL-frågor till en MySQL DB

  4. Välj resultatuppsättning till en variabel och använd sedan variabeln i en uppdatering senare i samma lagrade procedur