2013-03-29 18 views
6

Ho visto molti di questi post e ho esaminato tutti, ma non riesco ancora a ottenere l'estensione SQLSRV in esecuzione. Mi puoi aiutare? Io posto tutte le informazioni che ho qui di seguito:Installa l'estensione SQLSRV per PHP su WAMP

  • Windows 7 64-bit
  • WampServer 2.2 a 32 bit
  • PHP 5.4.3 a 32 bit
  • Apache 2.2.22 (non può dire se VC6 o VC9)
  • Microsoft SQL Server 2012 Native client a 64 bit

ho scaricato SQLSRV30.exe. Ho estratto i file dll in C: \ wamp \ bin \ php \ php5.4.3 \ ext.

Nel mio php.ini:

  • extension_dir = "c: /wamp/bin/php/php5.4.3/ext/"
  • extension = php_sqlsrv_54_ts.dll
  • extension = php_pdo_sqlsrv_54_ts.dll

so che SQLSRV30.exe è costruito come a 32 bit. Questo è il motivo per cui ho versioni a 32 bit di Wamp e PHP. So anche che nulla in Wamp è privo di thread sicuro.
Se visualizzo phpinfo() dovrei vedere una sezione 'sqlsrv', ma al momento non lo faccio.

Cosa sto sbagliando?

+0

Refer: http://docs.gurock.com/testrail-admin/howto-installing-sqlsrv – Arvind

+0

Differenze tra il tuo link di riferimento e la mia situazione: sto usando Apache invece di IIS. Credo che sto usando una versione thread-safe di PHP invece di non thread-safe, ma come posso dirlo con certezza? Ad ogni modo, non esiste un file chiamato php_sqlsrv.dll dalla pagina di download dell'estensione PHP SQLSRV di Microsoft. Esistono molte versioni diverse del file sqlsrv, tutte per varie cose, come non-thread-safe vs thread-safe, PHP 5.3.x vs PHP 5.4.xe VC6 vs VC9. Ho trovato la pagina di download qui: http://www.microsoft.com/en-us/download/details.aspx?id=20098 – user1971193

+0

si può sapere se è ts (thread safe) guardando nella cartella php. Le installazioni TS utilizzano php5ts.dll dove non-ts usa php5.dll. – Wranorn

risposta

2

Questa mattina mi sono imbattuto in qualche problema, ma ho scoperto di avere un WampServer x64 ... che non funzionava correttamente.

Così, ho reinstallato un WampServer x86, e ho seguito tutto quello che potevo trovare su PHP.net (http://php.net/manual/en/sqlsrv.requirements.php). Perché ho visto questo post, mentre stavo cercando la mia soluzione x64, ho pensato di tornare indietro e cercare di aiutare a:.

1) Se si dispone di PHP 5.4 # su Wamp, scommetto che è TS, VC9

2) Individuare il corretto 'php.ini': il mio NON è nella cartella 'bin/php #', ma nella cartella 'bin/apache #' (C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini)

3) Ci sono 2 versioni di driver SQLSRV, 2.0 e 3.0, assicurarsi di avere 3.0!

Dal suo aspetto, abbiamo esattamente la stessa versione di Wamp, quindi ... Sono abbastanza sicuro che devi usare "php_sqlsrv_54_ts.dll" e "php_pdo_sqlsrv_54_ts.dll".

4

Se si modifica c:\wamp\bin\php\php.ini, non modificare quel file basta modificare quello fornito dal file php.ini del server wamp, goto wamp server php, quindi php.ini quindi si ottiene il file di scrittura ini.

Ho avuto lo stesso problema, questo lo ha risolto per me.

Inoltre, assicurarsi che si fa clic destro collegamento WAMP e "Esegui come amministratore"

+0

Non mi sono reso conto che dovevo eseguire WAMP come amministratore - deve essere un passo importante .. –

1

Hai visto la nuova DLL nella vostra lista estensioni PHP? In tal caso, fare clic su di esso e assicurarsi che ci sia una V dal suo nome. (click sinistro sul simbolo WAMP spera verde php -. Estensioni> php -> nome del dll)

Ho avuto un problema simile con PHP 5.5, SQLSRV31.exe, php_sqlsrv_55_nts.dll e php_sqlsrv_55_ts.dll. Miracolosamente ha funzionato.

+0

Verificare inoltre che l'estensione si presenti in phpinfo(). Usando WAMP, fai clic sul verde W dalla barra di stato, fai clic su localhost, quindi su phpinfo() –