1

私はこの迷惑なメッセージを受け取っています:

致命的なエラー:未定義の関数mssql_connect()の呼び出し

コメントを外すだけだと言われているスレッドをたくさん読んだphp_mssql.dllことがありますが、私の拡張フォルダにはそのようなファイルはなく、にリストされていませんphp.ini

そして、私はそれをどこにも見つけることができないようです。フォーラムに投稿されたすべてのリンクが壊れています、そして私はこれによって完全に壊れています。

また、Microsoftから最近のファイルをダウンロードしようとしました。これを解凍php_pdo_sqlsrv_54_ts.dllし、拡張機能リストに追加しましたが、それでも同じエラーが発生します。

これを行うための意味のある方法はありますか?または、PHPを再インストールする必要がありますか?

編集

次のファイルをphp.ini拡張機能に追加しました。

extension=php_pdo_sqlsrv_53_nts.dll
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_nts.dll
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll

しかし、それでも運はありません... :(

4

2 に答える 2

1

以下は、Windows プラットフォームで php 5.3 と sql-server 2008 をリンクする私の方法です (mssql_* 関数の代わりに PDO を使用):

まず、Microsoft mssql ネイティブ クライアントをインストールする必要があります(ページを下にスクロールして、「Microsoft® SQL Server® 2008 R2 Native Client」までスクロールします)。その後、拡張子のみを php.ini に残します。

extension=php_pdo_sqlsrv_53_ts.dll

php -mここで、 cmd から呼び出して拡張機能リストを確認しpdo_mssqlます。[PHP モジュール] セクションに表示されます。

ここで、apache を再起動します。new PDO() を呼び出すことで、サーバーに接続できます。

$connection = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

詳細はこちら

于 2012-06-03T14:21:20.533 に答える
1

さて、これは私がそれを解決した方法です:

単純に php 5.2 をインストールしてから、ネイティブの mssql 拡張機能を追加したところ、次のようになったと思います。

extension=php_mssql.dll

5.3 とは異なり、5.2 バージョンには、mssql for Windows で動作するネイティブ バイナリが含まれています。

(PDO のインストールは多くの人にとって選択肢ではありません。より「信頼できる」はずですが、あまりにも多くの作業と新しい構文の学習が必要になるためです)。

最後に、からmsvcr71.dllをダウンロードしました

http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71

このファイルがないと、サーバーへの接続が切断され、不安定になります。

それでおしまい。

于 2012-06-11T18:28:01.580 に答える