sql >> Databáze >  >> RDS >> Sqlserver

PHP IIS7 MSSQL Volání nedefinované funkce sqlsrv_connect

Sám jsem měl tento problém. Konečně jsem to opravil, tak jsem si řekl, že se podělím.

Problém byl v tom, že ačkoli jsem měl nainstalovanou sqlsrv dll (zkopírovanou do mé složky php/ext), a Přidal jsem to do svého php.ini, ve službě IIS to bylo 'deaktivováno' .

Zde je několik pokynů krok za krokem pro případ, že by někdo měl znovu stejný problém. (Nebo pro budoucí referenci pro mě :))

  1. Stáhněte si (a nainstalujte) ovladače SQL Server (.dll)

    • Nainstalujte je spuštěním .exe a zadáním cesty ke složce php extensions, když se vás zeptá, kde je dekomprimovat.
      • Chcete-li najít aktuální adresář rozšíření, spusťte (cmd.exe) php -i | more a vyhledejte řádek extension_dir . (Pro mě to bylo na čtvrté stisknutí more ). Případně vytvořte jednoduchý php soubor obsahující pouze <?php phpinfo(); ?> a spusťte jej v prohlížeči. To poskytne stejné informace, ale v mnohem snáze čitelném formátu.
  2. Přidejte rozšíření do svého php.ini

    • Chcete-li najít správný soubor php.ini, spusťte php -i | more znovu vyhledejte Loaded Configuration File , nebo znovu zkontrolujte tento jednoduchý php skript (vřele doporučuji, abyste si ho vytvořili - ušetří vám to čas a námahu). Cesta, kterou tam najdete, je soubor, který potřebujete upravit.
    • Přidejte následující řádky do svého php.ini a uložte jej:

      [PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll

  3. Povolte rozšíření ve Správci IIS

    • V nabídce Start zadejte IIS Manager a stiskněte klávesu enter.
    • Klikněte na název svého serveru v levém postranním panelu
    • Klikněte na PHP Manager
    • V části PHP Extensions , klikněte na Enable or Disable an Extension .
    • Pokud vaše rozšíření není v části Enabled , podívejte se do části Disabled pro to. Až ji najdete, klikněte na ni pravým tlačítkem a klikněte na Enable v kontextové nabídce, která se zobrazí.
  4. Vyzkoušejte, zda to funguje

    • Otevřete phpinfo() stránku, kterou jste vytvořili (udělali jste, že?), a podívejte se do Registered PHP Streams . Pokud vidíte sqlsrv v tomto seznamu jste hotovi!


  1. Spouštěč MySQL pro kontrolu hodnot před vložením vícekrát

  2. jaký dotaz mysql bych měl použít k výběru kategorie, která odpovídá VŠEM mým kritériím?

  3. Jak vytvořit pohledy historie NEBO auditování z tabulek pro zachycení změn dat (CDC) na serveru SQL Server - kurz SQL Server

  4. Získat schéma databáze jedním dotazem?