ホームページ > バックエンド開発 > PHPチュートリアル > SQL Server 2005 環境への PHP 接続の構成と問題解決、sqlserver_PHP チュートリアル

SQL Server 2005 環境への PHP 接続の構成と問題解決、sqlserver_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:21:03
オリジナル
1206 人が閲覧しました

SQL Server 2005 環境への PHP 接続の構成と問題解決、sqlserver

1. Windows での SQLServer 2005 への PHP 接続

設定: インストールされている Windows オペレーティング システム (Win7 または .

接続する前にシステムを設定します:

1. ファイル phpntwdblib.dll を確認します。デフォルトの PHP インストール ディレクトリにファイルが 1 つありますが、接続して置き換えることはできません。

正しいバージョンの ntwdblib.dll (2000.80.194.0) をダウンロードします

2.phpを設定する

a. php.in を開き、extension=php_mssql.dll のコメント記号を削除します。

b. php.in を開き、mssql.secure_connection = Off を on に変更します。

c. php_mssql.dll を、php.in の extension_dir で指定されたディレクトリ、または /PHP/ext にあるシステム system32 ディレクトリにコピーします。

上記の手順を完了したら、Apacheを再起動する必要があります。

注: 実際の使用では、php 圧縮ファイルを介して iis に php を手動でインストールする場合、iis だけでなくマシンも再起動する必要があることがわかりました。

3.SQLサーバーを構成する

a. SQL Server 構成マネージャーを実行します: SQL Server 構成マネージャー、プロトコルを開きます

b. 名前付きパイプ「名前付きパイプ」と「tcp/ip」を許可します

c. 「tcp/ip」を右クリックし、「プロパティ」タブ「IP アドレス」を開きます。

d. TCP 動的ポート「TCP 動的ポート」に 1433 を入力し、正しい IP アドレスが割り当てられるように注意してください。

e. SQL Server を再起動します。

4. 以下を使用して MS SQL Server 2005 に接続します。

コードは次のとおりです。test.phpとして保存します。

//リンクデータベース

$conn=mssql_connect('localhost','sa','123456');

mssql_select_db('gu_dde',$conn);

//クエリステートメント

$Query="dde_top から * を選択";

$AdminResult=mssql_query($Query);

//結果を出力する

$Num=mssql_num_rows($AdminResult);

for($i=0;$i

http://127.0.0.1/test.php と入力してください

訪問:

5.よくある質問:

1 エラーレポート:

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

解決策:

MSSQL_series 関数を使用する

これら 2 つを使用するには、php.ini で設定する必要があります:

(1) DCOM を許可するには、php.ini の ;com.allow_dcom=TRUE の前のセミコロン「;」を削除する必要があります。

(2) MSSQL 拡張機能を使用するには、php.ini の ;extension=php_mssql.dll の前のセミコロン「;」を削除する必要があります。 (キー)

(3) extension_dir が正しいパスであることを確認します。例としてこのマシンを取り上げます: extension_dir = "c:phpext"。

(4) マシンが引き続き c:phpextphp_mssql.dll が見つからないというエラーを報告するが、このファイルは明らかに存在する場合。

解決策: php_mssql.dll と ntwdblib.dll をシステム ディレクトリ system32 にコピーし、テストを再開します。 。

(注: 上記の 2 つの DLL ファイルは同じディレクトリにありません。私のファイルは c:phpextphp_mssql.dll; c:phpntwdblib.dll です)

さらに、セットアップ後は必ずサーバーを再起動してください。

すでに有効になっていますか?

サーバーが正しいことを確認した後、ntwdblib.dllファイルの場所がc:windowssystem32の下に配置されているかどうかを確認します

同時に、ntwdblib.dll ファイルのバージョンが sqlserver:

のバージョンに対応していることを確認してください。

対応関係は以下の通りです

1.ntwdblib.dll のバージョンは 2000.2.8.0 で、SqlServer2000 に対応します (これはオンライン情報と推測に基づいており、2000 はインストールされていません)

2.ntwdblib.dll のバージョンは 2000.80.194.0 で、SqlServer2005 に対応します (これは実験によって使用できることが証明されており、ラップトップに 2005 をインストールしました)

3.ntwdblib.dll のバージョンは 2000.80.2039 で、SqlServer2008 に対応します (これは 2008 がインストールされていないとの推測です)

6. その他の質問:

php apache Sql Server2005 が同じマシン上にある場合は、基本的にアクセスに問題はありません。

SQL Server2005とPHPマシンが分かれている場合、SQLServerが配置されているマシン名へのpingが通るか確認する必要がありますが、通らない場合はPHPが配置されているマシンのsystem32driversetc配下のhostsファイルを修正してください。 SQLServer が配置されているマシンのマシン IP の行を追加します。 SQLServer が配置されているマシンのマシン名。

それでもアクセスできない場合は、php が配置されているマシンに mdac へのシークレット変換があるかどうかを確認する必要があります。単純に sqlserver クライアントをインストールしてみてはいかがでしょうか。

問題は次のように解決されます:

1. php_mssql.dll と ntwdblib.dll の 2 つのファイルをダウンロードします

php_mssql.dll これをc:windowssystem32にコピーしないと簡単に表示されます

ntwdblib2093.dll このファイルのバージョンに注意してください。そうしないと、後で非常にイライラすることになります。

2. Linux で php を SQL Server 2005 に接続します

1. まず、必要に応じてphp以外のコンポーネントをLAMP環境にインストールします。 freetds を使用して Linux で MS SQL に接続し、freetds をインストールします

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static

作る

メイクインストール

重要なヒント 1: このステップで注意する必要があるのは、--with-tdsver です

2.freetdsを設定する

server2005 の対応する tds バージョンは 7.2 です (オンラインで見つかるものはすべて 8.0 であるようです)

/usr/local/freetds/etc/freetds.conf を設定します

#典型的な Microsoft サーバー

[1.1.1.21]

ホスト = 1.1.1.21

ポート = 1433

tds バージョン = 7.0

重要な注意事項: mssql_connect 関数を呼び出す場合、その最初のパラメーターは SQL サーバーの IP ではなく、[1.1.1.21] (つまり、freetds.conf の構成) である必要があることに注意してください。

3. phpをコンパイルしてインストールします

必要に応じて PHP をコンパイルするための設定項目を設定しますが、追加する必要がある設定項目は次のとおりです: --with-mssql=/usr/local/freetds/

注: freetds をロードするために php をコンパイルするときに freetds ディレクトリが見つからない場合は、次のことを行う必要があります (公式 FAQ):

/usr/local/freetds/include/tds.h をタッチします

/usr/local/freetds/lib/libtds.aをタッチ

4. php をインストールしたら、すべての準備が完了しました。これで、Apache を再起動し、SQL Server 2005 を呼び出すことができます。

phpはsqlserver2005に接続できません

ヒントは何ですか?
Windows で php を使用して SQL Server に接続する場合、正しい一般構成に従って次の問題が発生します

PHP は php.ini; extension=php_mssql.dll の前のコメントを削除しましたが、Apache は依然として php_mssql をロードできません。 dll。

PHP で mssql_connect() 関数を使用すると、次のエラーが報告されます

未定義の関数 mssql_connect() を呼び出します

エラー ログに記録される内容は、PHP 起動: 動的ライブラリ 'D:\\WebService\ を読み込めません\php-5.2 .8-Win32\\ext\\php_mssql.dll'

オンラインで情報を検索したところ、この問題には実際には NTwdblib.dll が欠落しており、このダイナミック リンク ライブラリ ファイルは SQL SERVER クライアント接続であることがわかりました。このマシンに SQL Server2000/2005 がインストールされている場合、この問題は発生しません。この問題は、NTwdblib.dll ファイルを見つけて System32 フォルダに配置することで解決できます。

phpがリモートSQLサーバーに接続する2005の問題、解決してください

ntwdblib.dllファイル

1.phpインストールディレクトリとc:\windows\system32ディレクトリにコピーし、IISまたはApacheを停止します。
2. apache2.2.6\bin ntwdblib.dll を上書きします
3. php5.2.5 ntwdblib.dll を上書きします

前提:
SQL Server2005 はマシン B です
接続する必要があるマシンはマシン A です
ntwdblib.dll がインストールされています後で生成されるファイルについては、このファイルをマシン A 上の上記のディレクトリにコピーして上書きする必要があります。

4. PHP 構成ファイルを変更し、PHP.ini ファイルの mssql.secure_connection = On を変更します。 LAN に接続されているサーバーの場合、この構成は正しくありません。mssql.secure_connection = Off にする必要があります

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/861796.html技術記事 SQL Server 2005 への PHP 接続環境構成と問題解決、sqlserver 1. Windows 設定での SQLServer 2005 への PHP 接続: インストールされた Windows オペレーティング システム (Win7 または XP は許容されますが、他のシステムはまだテストされていません...
)
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート