ホームページ  >  記事  >  バックエンド開発  >  PHP を SQLSERVER に接続する際の注意点 (dll ファイルのダウンロードあり)_PHP チュートリアル

PHP を SQLSERVER に接続する際の注意点 (dll ファイルのダウンロードあり)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:18:251180ブラウズ

環境:
- Apache 2.2.6
- PHP 5.2.5
- SQL Server 2005
- Windows XP SP2
手順:
1. まず、通常どおり MS SQL Server に接続するように PHP5 を設定します
2. ntwdblib.dll (2000.80.194.0)、このバージョン番号に注意してください。このバージョンの DLL が動作しないわけではありません。最初にこの問題を見つけるのに時間がかかったので、覚えておいてください。 。 。
アドレス: http://www.jb51.net/dll/ntwdblib.dll.html
3. apache2.2.6binntwdblib.dll をカバーします
4. php5.2.5ntwdblib.dll をカバーします
5. SQL Server 構成マネージャーを実行します。サーバー構成マネージャーで、プロトコルを開きます
6. 名前付きパイプ「名前付きパイプ」と「tcp/ip」を許可します
7. 「tcp/ip」を右クリックし、「プロパティ」タブ「IP アドレス」を開きます
8. 「TCP 動的ポート」に 1433 を入力します
9. SQL Server、Apache、および PHP を再起動します
次のメソッドを使用して MS SQL Server 2005 に接続します:
mssql_connect('localhost,1433', USERNAME, PASSWORD);

Configure php

1. php.in を開き、extension=php_mssql.dll のコメント記号を削除します。
2. php.in を開き、mssql.secure_connection = Off を on に変更します。
3. php_mssql.dll を php.in の extension_dir で指定されたディレクトリまたはシステムの system32 ディレクトリにコピーします。 (php_mssql.dll は php 圧縮インストール パッケージに含まれています)。
上記の手順を完了したら、Apacheを再起動する必要があります。
注: 実際の使用では、php 圧縮ファイルを介して iis に php を手動でインストールする場合、iis だけでなくマシンも再起動する必要があることがわかりました。
4. php または system32 に ntwdblib.dll があることを確認する必要があります。プロパティをチェックして、バージョンが 7.0 ではなく 8.00.194 であることを確認します。同じマシンですので、アクセスは基本的に問題ありません。
SQL Server2000とPHPのマシンが分かれている場合、SQLServerが配置されているマシンのマシン名がpingできることを確認する必要がありますが、通らない場合は、PHPが配置されているマシンのsystem32driversetc配下のhostsファイルを修正して追加してください。 SQLServer が配置されているマシンのマシン IP と、Sqlserver が配置されているマシンの IP アドレスの行。 それでもアクセスできない場合は、php が配置されているマシンに mdac へのシークレット変換があるかどうかを確認する必要があります。 sqlserver クライアントをインストールするだけではどうでしょうか? phpをsql2005に接続するために、インターネットで多くの情報を見つけてcsdnブログに投稿しました、夕方3時5分、ついに解決しました
phpをsql2005に接続する問題は現在統合されています。 FAQ も同時に統合されます


以前に書いたチュートリアル:


接続する前にシステムを構成する: 1. デフォルトでは、以下のファイルが存在します。接続してから置き換えます。
正しいバージョンの ntwdblib.dll (2000.80.194.0) をダウンロードします。アドレス: http://www.jb51.net/dll/ntwdblib.dll.html
2. php を設定します。 php.in を開き、extension=php_mssql.dll のコメント記号を削除します。
b. php.in を開き、mssql.secure_connection = Off を on に変更します。
c. php_mssql.dll を php.in の extension_dir で指定されたディレクトリまたはシステムの system32 ディレクトリにコピーします。 (php_mssql.dll は php の圧縮インストール パッケージに含まれています)。
上記の手順を完了したら、Apacheを再起動する必要があります。
注: 実際の使用では、php 圧縮ファイルを介して iis に php を手動でインストールする場合、iis だけでなくマシンも再起動する必要があることがわかりました。
3. SQL Server を構成します
a. SQL Server 構成マネージャーを実行し、[プロトコル] を開きます
b. [名前付きパイプ] と [tcp/ip] を右クリックして開きます。 [プロパティ] タブの [IP アドレス]
d. [TCP 動的ポート] に 1433 を入力します
e. SQL Server を再起動します


4. 次の方法を使用して MS SQL Server 2005 に接続します。次のように:



コードをコピーします

コードは次のとおりです:

//リンクデータベース $conn=mssql_connect('localhost','sa','123456'); mssql_select_db('gu_dde') ,$conn); //クエリステートメント $Query="select * from dde_top";
$AdminResult=mssql_query($Query);
$Num=mssql_num_rows($AdminResult); i=0;$i<$i++)
$Row=mssql_fetch_array($AdminResult);
echo("");
http://127.0.0.1/ と入力します


5.FAQ:
1 エラー:
致命的エラー: 未定義関数 mssql_connect() の呼び出し
解決策:
MSSQL_ シリーズ関数を使用します
これら 2 つを使用するには、すべて次のことを行う必要があります
(1) DCOM を許可するには、php.ini の ;com.allow_dcom=TRUE の前のセミコロン「;」を削除する必要があります。
(2) MSSQL 拡張機能を使用するには、php.ini の ;extension=php_mssql.dll の前のセミコロン「;」を削除する必要があります。 (キー)
(3) このマシンを例として、extension_dir が正しいパスであることを確認します: extension_dir = "c:AppServ5.2.6phpext"。
(4) マシンが依然として c:AppServ5.2.6phpextphp_mssql.dll が見つからないというエラーを報告するが、このファイルは明らかに存在する場合。
解決策: php_mssql.dll と ntwdblib.dll をシステム ディレクトリ system32 にコピーし、テストを再開します。 。
(注: 上記 2 つの dll ファイルは同じディレクトリにありません。私のものは c:AppServ5.2.6phpextphp_mssql.dll; c:AppServ5.2.6phpntwdblib.dll です)
さらに、セットアップ後は必ずサーバーを再起動してください。
2.mssql_connect() サーバーに接続できません
SQLServer2005 サーバーが正常であることを確認します
TCP/IP が有効であることを確認します
また、右クリックしてプロパティを表示します:
有効かどうか、はいを選択します
サーバーが正常であることを確認した後、が正しい場合は、ntwdblib.dll ファイルの場所が c:windowssystem32 に存在するかどうかを確認します
同時に、ntwdblib.dll ファイルのバージョンが sqlserver のバージョンに対応していることを確認してください:
対応関係は次のとおりです:
2 .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 Server2000 は同じマシン上にあるので、基本的にはアクセスに問題はありません。
SQL Server2000とPHPのマシンが分かれている場合、SQLServerが配置されているマシンのマシン名がpingできることを確認する必要がありますが、通らない場合は、PHPが配置されているマシンのsystem32driversetc配下のhostsファイルを修正して追加してください。 SQLServer が配置されているマシンのマシン IP と、Sqlserver が配置されているマシンの IP アドレスの行。
それでもアクセスできない場合は、php が配置されているマシンに mdac へのシークレット変換があるかどうかを確認する必要があります。 sqlserver クライアントをインストールするだけではどうでしょうか?
次のように問題を解決します:
1. php_mssql.dll と ntwdblib.dll の 2 つのファイルをダウンロードします。
php_mssql.dll これが c:windowssystem32 にコピーされていない場合、簡単に表示されます
ntwdblib2093.dll バージョンに注意してください
MSSQL データベースが 2000 の場合、操作は基本的に同じです。
win2003 サーバー システムの新しいサーバーを追加します。以前は他のサーバーは php5.0/5.1 を使用しており、データベースは SQL Server 2000 でしたが、今回は SQL Server 2005 の php5.3.2 をインストールする予定です。php5.3 バージョンは Microsoft の FastCGI モードを使用していることがわかります。従来の CGI モードとは異なり、CGI よりも 2 倍高速な、より合理的な解析プロセス起動モードが採用されています。PHP 5.3 以降のバージョンでは ISAPI モードがサポートされなくなりました。

iis6 と ms SQL Server 2005 をインストールした後のインストール プロセス全体は、次のとおりです。
2. PHP 1.1 ドライバー用の SQL Server ドライバーをインストールします。

http://www.bkjia.com/PHPjc/325522.html

tru​​ehttp://www.bkjia.com/PHPjc/325522.html技術記事環境: - Apache 2.2.6 - PHP 5.2.5 - SQL Server 2005 - Windows XP SP2 手順: 1. まず、通常どおり MS SQL Server に接続するように PHP5 を設定します。 2. 正しいバージョンの ntwdblib.dll (200...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。