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.
U kunt de vooraf gedefinieerde stuurprogramma's voor uw platform downloaden via de microsoft-stuurprogramma's voor PHP voor SQL Server GitHub-projectpagina. Elk installatiepakket bevat SQLSRV - en PDO_SQLSRV stuurprogrammabestanden in threaded en niet-gevergewerkte varianten. In Windows zijn ze ook beschikbaar in 32-bits en 64-bits varianten. Zie Systeemvereisten voor de Microsoft-stuurprogramma's voor PHP voor SQL Server voor een lijst met stuurprogrammabestanden die zich in elk pakket bevinden. Het stuurprogrammabestand moet overeenkomen met de PHP-versie, architectuur en threadedness van uw PHP-omgeving.
Op Linux en macOS kun je de drivers ook installeren met PIE of PECL, zoals beschreven in de installatietutorial.
Op Windows kun je de drivers installeren met PIE, de PHP-installer voor extensies, in versie 5.13.3 en latere versies. PIE vervangt het verouderde PECL-pakketsysteem en schakelt de extensie voor je in, zodat je geen driverbestand downloadt of php.ini handmatig bewerkt. Windows heeft geen build-toolchain nodig, omdat de extensies worden verspreid als vooraf gecompileerde DLL's. PIE zelf vereist PHP 8.1 en latere versies om te draaien, hoewel het een extensie kan installeren in elke andere PHP-installatie op de machine.
pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv
Installeer elke driver met een eigen commando. Voor instructies voor het installeren van PIE, zie de PIE-documentatie.
Op Windows heeft PIE de openssl extensie nodig om de pakketopslag te bereiken. Een PHP-installatie vanuit het php.net .zip-pakket gebruikt het standaard php.ini-development-bestand , dat het niet inschakelt, en PIE stopt met The package "composer/ca-bundle" requires the extension "openssl". Stel extension_dir de extensie in en schakel deze in php.ini in voordat je PIE uitvoert:
extension_dir = "ext"
extension=openssl
Pakketbeheerde PHP-installaties op Linux en macOS zijn al ingeschakeldopenssl, dus deze stap geldt alleen voor Windows.
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.soAls u het PDO_SQLSRV-stuurprogramma wilt inschakelen, moet de PDO-extensie (PHP Data Objects) beschikbaar zijn, hetzij als een ingebouwde extensie of als een 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.
Start de webserver opnieuw op.
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