PHP 5.3にアップグレードし、php_mssql.dllが欠落していることに気付きました。少しグーグルした後、5.3がmssqlのサポートを終了したようです。そのため、Microsoftからドライバーをダウンロードしましたが、それが機能するようには思われない。
私は窓の上にいます。私のPHP 5.3?
引用 http://php.net/manual/en/intro.mssql.php :
MSSQL拡張は、PHP 5.3以降のWindowsでは使用できなくなりました。 MS SQLの代替ドライバーであるSQLSRVは、Microsoftから入手できます。" http://msdn.Microsoft.com/en-us/sqlserver/ff657782.aspx 。
ダウンロードしたら、次のページの指示に従ってください。
一言で言えば:
PHP拡張ディレクトリにドライバーファイルを配置します。
php.iniファイルを変更して、ドライバーを含めます。例えば:extension=php_sqlsrv_53_nts_vc9.dll
Webサーバーを再起動します。
関連項目(そのページからコピー)
SQLSRV拡張機能のPHPマニュアルは http://php.net/manual/en/sqlsrv.installation.php にあり、インストールに関する次の情報を提供しています。
SQLSRV拡張機能を有効にするには、適切なDLLファイルをPHP拡張ディレクトリに追加し、対応するエントリをphp.iniファイルに追加します。 SQLSRVのダウンロードには、いくつかのドライバーファイルが付属しています。使用するドライバーファイルは、使用するPHPバージョン、スレッドセーフまたは非スレッドセーフPHPのいずれを使用しているか、およびPHPインストールがVC6またはVC9コンパイラ。たとえば、PHP 5.3を実行していて、スレッドセーフでないPHPを使用しており、PHPインストールがVC9コンパイラーでコンパイルされている場合、php_sqlsrv_53_nts_vc9.dllファイルを使用する必要があります。 (WebサーバーとしてIISを使用している場合は、VC9コンパイラーでコンパイルされた非スレッドセーフバージョンを使用する必要があります)。 PHP 5.2を実行していて、スレッドセーフPHPを使用しており、PHPインストールがVC6コンパイラーでコンパイルされている場合、php_sqlsrv_52_ts_vc6.dllファイルを使用する必要があります。
ドライバー PDOでも使用可能 。
ダウンロード MicrosoftドライバーPHP for SQL Server 。ファイルを抽出し、次のいずれかを使用します。
File Thread Safe VC Bulid
php_sqlsrv_53_nts_vc6.dll No VC6
php_sqlsrv_53_nts_vc9.dll No VC9
php_sqlsrv_53_ts_vc6.dll Yes VC6
php_sqlsrv_53_ts_vc9.dll Yes VC9
Phpinfo()でスレッドセーフステータスを確認できます。
Extファイルに正しいファイルを追加し、php.iniに次の行を追加します。
extension=php_sqlsrv_53_*_vc*.dll
使用したファイルのファイル名を使用します。
Gordonがすでに投稿しているように、これはMicrosoftの新しい拡張機能であり、mssql_ *の代わりにsqlsrv_ * APIを使用します
更新:
Linuxでは、必要なドライバーもSQLSERV拡張機能もありません。
この説明については、 PHP on Linux? からMS SQL Serverに接続します)==をご覧ください。
要するに、FreeTDSをインストールする必要があります はい、mssql_ *関数を使用する必要があります Linuxで。 更新2を参照
長期的に物事を単純化するために、どの拡張機能がロードされるかに基づいて適切なAPI(sqlsrv_ *またはmssql_ *)を使用する必要な関数を持つラッパークラスを作成することをお勧めします。
Update 2:Linuxではmssql_ *関数を使用する必要はありません。 PDO + ODBC + FreeTDSを使用してms SQLサーバーに接続できます。Windowsでは、接続に最適な実行方法はPDO + ODBC + SQL Native PDO + SQLSRVドライバーは非常に遅いため、クライアント。