Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze pagina bevat instructies voor het laden van de Microsoft-stuurprogramma's voor PHP voor SQL Server in de PHP-procesruimte.
Installeer de drivers op Windows met PIE
PIE, de PHP Installer for Extensions, installeert de bijpassende voorgecompileerde driverbestanden en schakelt deze in in de PHP-commandoregelconfiguratie. Windows heeft geen build-toolchain nodig.
Installeer een ondersteunde PHP-versie en de Microsoft ODBC-driver voor SQL Server.
Voer
php --iniuit. Als Loaded Configuration File(none)leeg is, kopieer php.ini-development van de PHP-installatiemap naar php.ini in dezelfde map.In php.ini, stel de extensiemap in en schakel de extensies
zipenopensslin:extension_dir = "ext" extension=openssl extension=zipDownload vanuit een beschrijfbare werkmap de nieuwste stabiele
pie.phar. Het commando werkt in de opdrachtprompt en PowerShell:curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharAls je de GitHub CLI hebt, controleer dan of de PHP Foundation het bestand heeft gepubliceerd:
gh attestation verify --owner php .\pie.pharInstalleer beide drivers met behulp van het PHP-uitvoerbaar bestand op
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvControleer of dezelfde PHP-commandoregelruntime beide drivers laadt:
php --ri sqlsrv php --ri pdo_sqlsrv
Voor andere PIE-installatiemethoden, zie de documentatie voor het gebruik van PIE.
Installeer de drivers op Linux en macOS
Installeer de drivers en hun platformafhankelijkheden met PIE zoals beschreven in de Linux- en macOS-installatietutorial.
Installeer vooraf gebouwde drivers handmatig
Je kunt de kant-en-klare drivers downloaden van de Microsoft Drivers for PHP for SQL Server-pagina. De Windows download is een ZIP die SQLSRV en PDO_SQLSRV driverbestanden bevat voor elke ondersteunde PHP-versie, architectuur en thread-safety-modus. Selecteer de bestanden die bij je PHP-omgeving passen. Zie Systeemvereisten voor de bestandslijst.
U kunt ook de drivers vanuit de bron bouwen bij het bouwen van PHP of met behulp van phpize. Als u ervoor kiest om de stuurprogramma's van de bron te bouwen, kunt u ze statisch bouwen in PHP in plaats van ze te bouwen als gedeelde extensies door (in Linux en macOS) of --enable-sqlsrv=static --with-pdo_sqlsrv=static (in Windows) aan de opdracht toe te voegen --enable-sqlsrv=static --with-pdo-sqlsrv=static bij het ./configure bouwen van PHP. Zie de phpize voor meer informatie over het PHP-buildsysteem.
Het stuurprogrammabestand verplaatsen naar de map van uw extensie
Het stuurprogrammabestand moet zich in een map bevinden waar de PHP-runtime het kan vinden. Het is het eenvoudigst om het stuurprogrammabestand in uw standaardmap met PHP-extensie te plaatsen: om de standaardmap te vinden, uit te voeren php -i | sls extension_dir in Windows of php -i | grep extension_dir in Linux/macOS. Als u de standaardmap voor extensies niet gebruikt, geeft u een map op in het PHP-configuratiebestand (php.ini), met behulp van de optie extension_dir . Als u bijvoorbeeld in Windows het stuurprogrammabestand in uw c:\php\ext map plaatst, voegt u de volgende regel toe aan php.ini:
extension_dir = "c:\PHP\ext"
Het stuurprogramma laden bij het opstarten van PHP
Als u het SQLSRV-stuurprogramma wilt laden wanneer PHP wordt gestart, verplaatst u eerst een stuurprogrammabestand naar de extensiemap. Voer vervolgens de volgende stappen uit:
Als u het SQLSRV-stuurprogramma wilt inschakelen, wijzigt u php.ini door de volgende regel toe te voegen aan de extensiesectie, waarbij u de bestandsnaam zo nodig wijzigt voor uw PHP-versie en thread- en niet-threadveilige installatie:
In Windows:
extension=php_sqlsrv_83_ts.dllAls u in Linux de vooraf gemaakte binaire bestanden voor uw distributie hebt gedownload:
extension=php_sqlsrv_83_nts.soAls je de SQLSRV-binaire code hebt gecompileerd vanuit de broncode, of deze hebt geïnstalleerd met PIE of PECL, heet het sqlsrv.so:
extension=sqlsrv.soOm de PDO_SQLSRV-driver mogelijk te maken, moet de PHP Data Objects (PDO)-extensie beschikbaar zijn, hetzij als ingebouwde extensie of als dynamisch geladen extensie.
In Windows worden de vooraf gedefinieerde BINAIRE PHP-bestanden geleverd met ingebouwde PDO, dus u hoeft php.ini niet te wijzigen om deze te laden. Als u echter PHP vanuit de broncode hebt gecompileerd en een afzonderlijke PDO-extensie hebt opgegeven die moet worden gebouwd, is zijn naam
php_pdo.dllen moet u deze kopiëren naar uw extensiedirectory en de volgende regel toevoegen aan php.ini:extension=php_pdo.dllAls u PHP hebt geïnstalleerd met behulp van pakketbeheer van uw systeem, wordt PDO waarschijnlijk geïnstalleerd als een dynamisch geladen extensie met de naam pdo.so. De PDO-extensie moet worden geladen voordat de PDO_SQLSRV-extensie wordt geladen, anders mislukt het laden. Extensies worden geladen met behulp van afzonderlijke .ini bestanden en deze bestanden worden na php.inigelezen. Daarom, als pdo.so via een eigen .ini-bestand wordt geladen, is een apart bestand vereist dat het PDO_SQLSRV-stuurprogramma laadt nadat PDO is geladen.
Als u wilt weten welke map de extensiespecifieke .ini-bestanden zich bevinden, voert u de map uit
php --inien noteert u de map die wordt vermeld onderScan for additional .ini files in:. Zoek het bestand dat pdo.so laadt. Het moet worden voorafgegaan door een getal, zoals 10-pdo.ini. Het numerieke voorvoegsel geeft de laadvolgorde van de .ini bestanden aan, terwijl bestanden die geen numeriek voorvoegsel hebben, alfabetisch worden geladen. Maak een bestand voor het laden van het PDO_SQLSRV stuurprogrammabestand met de naam 30-pdo_sqlsrv.ini (een getal dat groter is dan het nummer dat pdo.ini werkt) of pdo_sqlsrv.ini (als pdo.ini niet met een getal wordt voorafgegaan) en voeg de volgende regel toe, waarbij u de bestandsnaam indien van toepassing wijzigt:extension=php_pdo_sqlsrv_3_nts.soNet als bij SQLSRV, als je de PDO_SQLSRV-binary vanuit de bron compileerde of installeerde met PIE of PECL, heet de naam pdo_sqlsrv.so:
extension=pdo_sqlsrv.soKopieer dit bestand naar de map die de andere .ini bestanden bevat.
Als u PHP hebt gecompileerd vanuit de bron met ingebouwde PDO-ondersteuning, hebt u geen afzonderlijk .ini bestand nodig en kunt u de vorige regel toevoegen aan php.ini.
Herstart de webserver.
Opmerking
Als u wilt bepalen of het stuurprogramma is geladen, voert u een script uit dat phpinfo() aanroept.
Zie Beschrijving van kern-php.ini richtlijnen voor meer informatie over php.ini richtlijnen.
Verwante onderwerpen
- Aan de slag met de Microsoft-stuurprogramma's voor PHP voor SQL Server
- Systeemvereisten voor de Microsoft Drivers voor PHP voor SQL Server
- Programmeerhandleiding voor de Microsoft-stuurprogramma's voor PHP voor SQL Server
- Naslaginformatie over de API voor SQLSRV-stuurprogramma's
- PDO_SQLSRV-stuurprogrammareferentie