sql >> Database >  >> RDS >> Sqlserver

PHP IIS7 MSSQL Oproep naar ongedefinieerde functie sqlsrv_connect

Ik had dit probleem zelf net. Ik heb het eindelijk opgelost, dus ik dacht ik deel het even.

Het probleem was dat, hoewel ik de sqlsrv dll had geïnstalleerd (gekopieerd naar mijn php/ext-map), en Ik had het toegevoegd in mijn php.ini, in IIS was het 'uitgeschakeld' .

Hier zijn enkele stapsgewijze instructies, voor het geval iemand hetzelfde probleem opnieuw heeft. (Of voor toekomstig gebruik voor mij :))

  1. Download (en installeer) de SQL Server-stuurprogramma's (.dll)

    • Installeer ze door .exe uit te voeren en het pad naar je map met php-extensies in te typen wanneer wordt gevraagd waar je ze moet decomprimeren.
      • Om uw huidige extensiemap te vinden, voert u (cmd.exe) php -i | more , en zoek naar de regel extension_dir . (Voor mij was het bij de vierde druk op more ). U kunt ook een eenvoudig php-bestand maken dat alleen <?php phpinfo(); ?> , en voer het uit in de browser. Dit geeft dezelfde informatie, maar in een veel gemakkelijker te lezen formaat.
  2. Voeg de extensie toe aan uw php.ini

    • Om de juiste php.ini te vinden, voert u php -i | more nogmaals, op zoek naar Loaded Configuration File , of controleer dat eenvoudige php-script opnieuw (ik raad u ten zeerste aan om het te maken - het zal u tijd en moeite besparen). Het pad dat je daar vindt, is het bestand dat je moet bewerken.
    • Voeg de volgende regels toe aan je php.ini en sla het op:

      [PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll

  3. Schakel de extensie in IIS Manager in

    • Typ in het startmenu IIS Manager en druk op enter.
    • Klik op de naam van uw server in de linkerzijbalk
    • Klik op PHP Manager
    • Onder PHP Extensions , klik op Enable or Disable an Extension .
    • Als uw extensie niet onder Enabled staat , kijk onder Disabled ervoor. Wanneer u het vindt, klikt u er met de rechtermuisknop op en klikt u op Enable in het contextmenu dat verschijnt.
  4. Test om te controleren of het werkte

    • Open die phpinfo() pagina die je hebt gemaakt (heb je gedaan, nietwaar?) en kijk onder Registered PHP Streams . Als u sqlsrv . ziet in die lijst, je bent klaar!


  1. Bewaar de accountgegevens bij alle activiteiten in Android Studio

  2. Dynamisch PHP-object maken op basis van string

  3. Is er een manier in MySQL om een ​​booleaans veld met één query om te keren?

  4. Hoe SELinux te configureren voor PostgreSQL en TimescaleDB