PHPを使用したことがないので、IIS7およびPHP5.3を実行しているWindowsマシン上のSQL Server 2008インスタンスに接続しようとしています。
C:\Program Files (x86)\PHP\ext
の- here から_SQLSRV30.EXE
_をダウンロードしてインストールしました。これをC:\Program Files (x86)\PHP\php.ini
に追加しました。
_extension=php_sqlsrv_53_nts.dll
_
その後、サーバー全体を再起動しました。ログファイルに次のような致命的なエラーが引き続き表示されます。
_PHP Fatal error: Call to undefined function mssql_connect()
_
IIS7/Windows Server 2008で実行されているPHP 5.3からMicrosoft SQL Server 2008に接続するために何をする必要がありますか?.
フルPHPINFO->http://demo.mandibleweb.com/zapified/hello.php
phpinfo():
_PHP Version 5.3.10
System
Windows NT MWD001 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
Build Date
Feb 2 2012 20:10:58
Compiler
MSVC9 (Visual C++ 2008)
Architecture
x86
Configure Command
cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\Oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\Oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet" "--with-mcrypt=static" "--disable-static-analyze"
Server API
CGI/FastCGI
Virtual Directory Support
disabled
Configuration File (php.ini) Path
C:\Windows
Loaded Configuration File
C:\Program Files (x86)\PHP\php.ini
_
開発サーバーにその拡張機能をインストールしようとしました。
最初に、拡張機能が正しく有効になっていることを確認します。 phpinfo()
出力は完全ではないようです。
実際に正しくインストールされている場合、phpinfo()
には次のようなセクションが必要です。
phpinfo()
にそのセクションが表示されない場合。正しいバージョンを使用していることを確認してください。拡張機能には、スレッドセーフでないバージョンとスレッドセーフなバージョンの両方があります。
最後に、_extension_dir
_設定を確認します。デフォルトでは、これは_extension_dir = "ext"
_です。ほとんどの場合は正常に動作しますが、試さない場合は_extension_dir = "C:\PHP\ext"
_です。
================================================== =========================
新しい情報を指定して編集:
間違った機能を使用しています。 mssql_connect()
は Mssql 拡張の一部です。 Microsoftの拡張機能を使用しているため、sqlsrv_connect()
を使用します。MicrosoftドライバーのAPIについては、拡張機能を抽出したときにext
ディレクトリに抽出される_SQLSRV_Help.chm
_を参照してください。
php.ini おそらく読む必要があります:_extension=ext\php_sqlsrv_53_nts.dll
_
または、ファイルをphp実行可能ファイルと同じディレクトリに移動します。これは、odbc_pdoを機能させるために今週php5をインストールしたことです。 :P
さらに、それは適切なphpinfo()出力のようには見えません。内容を含むファイルを作成する場合<? phpinfo(); ?>
およびそのページにアクセスすると、HTML出力には、ロードされたモジュールを含むセクションなど、いくつかのセクションが表示されます。 (追加して編集:上記の回答のスクリーンショットに示すように)
私はIIS and mysql(直接ダウンロード、wampまたはxamppなし)を使用しています。私のphpはc:\ phpにインストールされていました。 extension_dirの変更が機能しました。これが私がやったことです。php.iniでは、元々、
; Windowsの場合:extension_dir = "ext"
私はそれを次のように変更しました:
; Windowsの場合:extension_dir = "C:\ php\ext"
そしてそれは働いた。もちろん、他のコメントで説明されているように、dll拡張機能のコメントを外すなど、他のことも行いました。