Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa pagina vengono specificate le istruzioni per il caricamento dei Driver Microsoft per PHP per SQL Server nello spazio di elaborazione PHP.
Installa i driver su Windows con PIE
PIE, il PHP Installer for Extensions, installa i file driver precompilati corrispondenti e li abilita nella configurazione a riga di comando PHP. Windows non ha bisogno di una toolchain di build.
Installa una versione supportata di PHP e il driver Microsoft ODBC per SQL Server.
Esegui
php --ini. Se il file di configurazione caricato è(none), copia php.ini-sviluppo dalla directory di installazione PHP a php.ini nella stessa directory.In php.ini, imposta la directory delle estensioni e abilita le estensioni
opensslezip:extension_dir = "ext" extension=openssl extension=zipDa una directory di lavoro con permessi di scrittura, scarica l'ultima versione stabile
pie.phar. Il comando funziona nel Prompt dei comandi e in PowerShell:curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharSe hai la CLI di GitHub, verifica che la PHP Foundation abbia pubblicato il file:
gh attestation verify --owner php .\pie.pharInstalla entrambi i driver usando l'eseguibile PHP su
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvVerifica che lo stesso runtime da riga di comando PHP carichi entrambi i driver:
php --ri sqlsrv php --ri pdo_sqlsrv
Per altri metodi di installazione PIE, consulta la documentazione sull'uso dei PIE.
Installa i driver su Linux e macOS
Installa i driver e le loro dipendenze di piattaforma con PIE come descritto nel tutorial di installazione di Linux e macOS.
Installa manualmente i driver precompilati
Puoi scaricare i driver precompilati dalla pagina Microsoft Drivers for PHP for SQL Server. Il download Windows è uno ZIP che contiene SQLSRV e file driver PDO_SQLSRV per ogni versione supportata di PHP, architettura e modalità thread-safety. Seleziona i file che corrispondono al tuo ambiente PHP. Vedi Requisiti di Sistema per la lista file.
È anche possibile compilare i driver dall'origine quando si compila PHP o usando phpize. Se si sceglie di compilare i driver dall'origine, è possibile crearli in modo statico in PHP anziché come estensioni condivise aggiungendo --enable-sqlsrv=static --with-pdo_sqlsrv=static (in Linux e macOS) o --enable-sqlsrv=static --with-pdo-sqlsrv=static (in Windows) al comando ./configure durante la compilazione di PHP. Per altre informazioni sul sistema di compilazione di PHP e phpize, vedere la documentazione di PHP.
Spostamento del file driver nella directory della tua estensione
Il file del driver deve trovarsi in una directory in cui il runtime PHP è in grado di trovarlo. È più semplice inserire il file del driver nella directory predefinita dell'estensione PHP: per trovare la directory predefinita, eseguire php -i | sls extension_dir in Windows o php -i | grep extension_dir in Linux/macOS. Se non si usa la directory di estensione predefinita, specificare una directory nel file di configurazione PHP (php.ini), usando l'opzione extension_dir . Ad esempio, in Windows, se si inserisce il file del driver nella c:\php\ext directory, aggiungere la riga seguente a php.ini:
extension_dir = "c:\PHP\ext"
Caricamento del driver all'avvio di PHP
Per caricare il driver SQLSRV all'avvio di PHP, spostare prima un file del driver nella directory delle estensioni. Effettuare quindi i seguenti passaggi:
Per abilitare il driver SQLSRV , modificare php.ini aggiungendo la riga seguente alla sezione dell'estensione, modificando il nome file in base alla versione php e thread safe rispetto all'installazione non thread-safe:
In Windows:
extension=php_sqlsrv_83_ts.dllIn Linux, se sono stati scaricati i file binari predefiniti per la distribuzione:
extension=php_sqlsrv_83_nts.soSe hai compilato il binario SQLSRV dal sorgente, o l'hai installato con PIE o PECL, il suo nome è sqlsrv.so:
extension=sqlsrv.soPer abilitare il driver PDO_SQLSRV , l'estensione PHP Data Objects (PDO) deve essere disponibile, sia come estensione integrata che come estensione caricata dinamicamente.
In Windows, i file binari PHP predefiniti sono dotati di PDO predefinito, quindi non è necessario modificare php.ini per caricarlo. Se, tuttavia, PHP è stato compilato dall'origine e hai specificato un'estensione PDO separata da compila, il suo nome è
php_pdo.dll, e devi copiarla nella directory delle estensioni e aggiungere la riga seguente a php.ini:extension=php_pdo.dllIn Linux, se è stato installato PHP usando la gestione pacchetti del sistema, PDO è probabilmente installato come estensione caricata dinamicamente denominata pdo.so. L'estensione PDO deve essere caricata prima dell'estensione PDO_SQLSRV o il caricamento non riesce. Le estensioni vengono caricate usando singoli file di .ini e questi file vengono letti dopo php.ini. Di conseguenza, se pdo.so viene caricato con un proprio file INI, è necessario un file separato che carica il driver PDO_SQLSRV dopo PDO.
Per sapere in quale directory si trovano i file INI specifici dell'estensione, eseguire
php --inie individuare la directory elencata inScan for additional .ini files in:. Trova il file che carica pdo.so. Deve essere preceduto da un numero, ad esempio 10-pdo.ini. Il prefisso numerico indica l'ordine di caricamento dei file .ini, mentre i file che non hanno un prefisso numerico vengono caricati alfabeticamente. Creare un file per caricare il driver PDO_SQLSRV chiamato 30-pdo_sqlsrv.ini (qualsiasi numero maggiore di quello che precede pdo.ini è valido) o pdo_sqlsrv.ini (se pdo.ini non è preceduto da un numero) e aggiungere la seguente riga, modificando il nome del file come appropriato:extension=php_pdo_sqlsrv_3_nts.soCome per SQLSRV, se hai compilato il binario PDO_SQLSRV dal sorgente, o lo hai installato con PIE o PECL, il suo nome è pdo_sqlsrv.so:
extension=pdo_sqlsrv.soCopiare questo file nella directory che contiene gli altri file INI.
Se PHP è stato compilato dall'origine con supporto PDO predefinito, non è necessario un file .ini separato ed è possibile aggiungere la riga precedente a php.ini.
Riavvia il server web.
Nota
Per determinare se il driver è stato caricato correttamente, eseguire uno script che chiama phpinfo().
Per altre informazioni sulle direttive di php.ini, vedere Descrizione delle direttive core di php.ini.