- ベストアンサー
classでエラー
IIS5+PHP4.4.0+MSDEで、開発しているのですが、 テスト環境では、動いていたソースを、本番環境に動かしたら、 Notice: Undefined variable: m_strDBName in C:\xxx.php on line 110 Fatal error: Call to undefined function: mssql_pconnect() in C:\xxx.php on line 119 というエラーが出てしまいました。 もちろん、テスト環境と、本番環境は、同じ環境で、 PHP.iniもコピーしました。(インストールパスも同じです) エラー部分は、 require_once("xxx.php"); で、呼び出し、 class clsXXX { var $m_strDBName; function clsXXX() { $this->$m_strDBName = "mmdb"; return; } } としています。 どうすれば、解決できるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
$this->$m_strDBName = "mmdb"; は $this->m_strDBName = "mmdb"; だと思います
その他の回答 (2)
- php504
- ベストアンサー率42% (926/2160)
マニュアルには この拡張モジュールは、PHPがインストールされているシステムにMS SQL クライアントツールのインストールを要します。クライアントツールは、 MS SQL Server CDまたは\winnt\system32から ntwdblib.dllをPHPシステム の\winnt\system32にコピーすることによりインストール可能です。 ntwdblib.dllのコピーではアクセスのみが可能で す。クライアントの設定は、全てのツールのインストールが必要です。 と書いてあります。 ntwdblib.dllのコピー先を上記の場所に変えてみてはどうでしょうか
お礼
system32に変更してみましたが、同じ結果でした。 もちろん、コピー後、再起動しています。 MSSQLServerのクライアントってダウンロードとかできないのでしょうか?
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>undefined function… ということだから、MSSQL関連のインストールか設定がちゃんとされていないのだと思います。
お礼
ありがとうございます。 何を確認したら、よいでしょうか? PHP.iniで extension=php_mssql.dll にし、php_mssql.dllとntwdblib.dllをphp.exeのある フォルダに入れました。 ローカルで、c:\php\php.exe xxx.phpと実行すると、 正常に値が戻ってきます。 なにが、おかしいのでしょうか?
お礼
ありがとうございます。 確かに、1つエラーがきました。 Fatal error: Call to undefined function: mssql_pconnect()のエラーは、消えません。 こっちは、なぜでしょうか?
補足
エラー場所のソースは、下記のようになっています。 もしかしたら、間違ってるかなぁ? $objDatabase = mssql_pconnect("127.0.0.1", "sa", "sa");