Calender
Sun Mon Tue Wed Thu Fri Sat
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2018 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< Wii Fit | main | 【PHP】staticプロパティを$thisで参照してました(汗 >>
PHPのSQLServer関数対策(windows)
PHPのコンテンツの移転をしたところSQLServerへの接続関数 mssql_connect()でエラーを出しているとの事

以前に嵌ったのに又同じと事ですこし嵌ってしまったのでまとめておきます
検索のため冗長に書いています、自分のメモなので悪しからず、、

環境はWindowsXP,PHP(5.2.2)

(1)コンテンツを設置したところmssql_connect()でundefined function エラー

Fatal error: Call to undefined function: mssql_pconnect() in C:¥xxx.php on line 119

(2)php.iniを見直したところ php_mssql.dllが有効になっていなかったので調整

extension=php_mssql.dll

解決しなかったのでApacheのエラーログを確認

(3)ApacheのエラーログにDLLロードエラー報告

PHP Warning: PHP Startup: Unable to load dynamic library 'C:/WINNT/php5/ext¥¥php_mssql.dll' -(略) in Unknown on line 0

そういえば以前にphp_mssql.dllは利用できない為 php_sqlsrv.dll,php_sqlsrv.dllを利用するように書いてあった事をおぼろげに思い出し
(いらんことを思い出しました)

(4)php_sqlsrv.dllを利用するように変更してみる

;extension=php_mssql.dll.....コメントアウト
extension=php_sqlsrv.dll.....追加
extension=php_sqlsrv_ts.dll.....追加

やはりエラーはそのまま

(php.iniのDIFFとってみたり、dllのバージョン調べたり、インターネットで情報あさっているとここで数時間・・・)

気を取り直し、
PHPのリファレンスサイトのmssql関連の インストール/設定」ページをみにいってみる
↓記述発見

要件

Win32 プラットフォームでの要件

この拡張モジュールは、PHP がインストールされているシステムに MS SQL クライアントツールのインストールを要します。クライアントツールは、 MS SQL Server CD か、またはサーバの ¥winnt¥system32 から ntwdblib.dll を PHP システムの ¥winnt¥system32 にコピーすることによりインストール可能です。 ntwdblib.dll のコピーでは、名前付きパイプでのアクセスのみが可能となります。 クライアントの設定には全てのツールのインストールが必要です。

こんな、書いてある事なことなので、ネットでの検索はヒットしなかったのか・・

(5)php5フォルダ下のntwdblib.dllをシステムフォルダへコピーすることで解決

php_sqlsrv.dllは使いません


トホホ・・・なんでブログにあげていなかったんだろ、、

| 開発関連 | 10:07 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/949789