Microsoft MSSQL (SQL サーバー) と PHP を接続するための完全ガイド

黄舟
リリース: 2023-03-06 07:26:01
オリジナル
1907 人が閲覧しました

ezSQL を勉強していたときに、MSSQL に接続するために PHP が提供する mssql_connect() やその他の関数を見て、オープンソースで世界中で人気のあるプログラミング言語である PHP は Microsoft のデータに簡単に接続できるはずだと思いました。実際に導入してみると、たくさんの困難があることに初めて気づきました。

最初にダウンロードしたphpのバージョンは5.93でした。ダウンロードして環境変数などを追加し続けた後、ようやくphpinfo()関数がブラウザで正常に実行されました。その後、世界中で php_mssql.dll を検索したところ、mssql は PHP バージョン 5.3 以降ではネイ​​ティブにサポートされていないことがわかりました。

ついに Microsoft Drivers 3.0 for PHP for SQL Server を見つけました。Microsoft のものならできるはずだと思いましたが、SQLSRV30.EXE は実行できないことがわかりました。「SQLSRV30.EXE は有効な win32 プログラムではありません。」

長い間インターネットを検索した結果、次の実行可能な方法をまとめましたが、その前に次のことを行う必要があります:

MICROSOFT SQL SERVER を構成する

1. SQL サーバーをダウンロードしてインストールします。現在、2000 年から 2008 年までのさまざまなバージョンが存在します。自分で見つけてダウンロードしてください。

2. tcp/ip 接続方法を開き、データベースへのリモート アクセスを有効にします。 SQL Server 構成マネージャー -> ネットワーク構成 -> TCP/IP を有効にする

3. データ管理インターフェイスを開き、ユーザーとデータベースを追加します。

4. PHPをインストールし、IISサービスを設定します。

5. php が存在するフォルダー内の php.ini ファイルを開き、以下を追加します。

mssql.textlimit = 20971520
mssql.textsize = 20971520
ログイン後にコピー

これを行った後、次の 3 つの方法に従ってデータベースに接続できます。

付属の方法を使用します。 php を使用して MSSQL に接続します (バージョン 5.3 以降には適用されません)

php ext 拡張ライブラリ フォルダーに php_mssql.dll があることを確認し、PHP.ini の設定で、
の前の「;」を削除します。

れぇ


その後、接続をテストできます:

;extension=php_mssql.dll
ログイン後にコピー

PHP 用 SQL Server 用 Microsoft ドライバー
2008 年 7 月、Microsoft は、php に付属する MSSQL 機能を改善する、SQL Server に接続するための新しいドライバーをリリースしました。にはいくつかの欠点があり、PHP 拡張プラグインの形式で開発されているため、PHP を使用して Microsoft データベースを簡単に読み書きできます。

サーバーが IIS を使用している場合は、ここからダウンロードする必要があります:

http://php.iis.net/

なぜなら、上記のリンクは実際には Microsoft によって統合されたネットワーク開発プラットフォームであるためです。オンラインインストールですが、PDO プラグインと PHP、そしてもちろん Microsoft の他の開発機能を統合するのは非常に便利ですが、必要ない場合は Visual Studio にインストールする必要はありません。 。

ただし、Apache を使用している場合は、ここにアクセスしてこのプラグインを直接ダウンロードできます。これは実際には解凍されたファイルであり、いくつかの DLL ファイルが解凍されます。

1) ドライバー パッケージをダウンロードします。 : http://www.microsoft.com/en-us/download/details.aspx?id=20098.

2) SQLSRV30.EXE が存在しないと表示された場合は、DLL ファイルを PHP extension_dir ディレクトリに抽出します。有効な win32 プログラムです。一部のライブラリが欠落している可能性があります。vc10 であるか、管理者権限で実行されていない可能性があります。

//连接MSSQL
$conn=mssql_connect("实例名或者服务器IP","用户名","密码");

//测试连接
if($conn)
{
 echo "连接成功";
}
ログイン後にコピー

Microsoft MSSQL (SQL サーバー) と PHP を接続するための完全ガイド

3) php.ini 設定ファイル内の対応するダイナミック リンク ライブラリ ファイルを参照します

extension_dir = “C:\PHP\ext”
ログイン後にコピー

52 と 53 は、php の 5.2.x および 5.3.x バージョンを表します。 PHP のバージョンは一致します。vc6 または vc9 の選択は主に、使用している Web サーバー ソフトウェアによって異なります。IIS を使用している場合は vc9 を選択し、Apache を使用している場合は vc6 を選択します。

ts と nts に関しては、インストールした PHP バージョンがスレッドセーフであるか非スレッドセーフであるかによって異なります。ts はスレッドセーフであり、nts は非スレッドセーフです。
4) Apache を再起動します
5) データベースに接続します
接続コードをテストします:

extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo.dll
ログイン後にコピー

Windows での FreeTDS の使用

FreeTDS とは実際にはオープン ソース (または無料であると言えます) C Linux システム上で Microsoft の SQL データベースにアクセスして操作できます。これは、ODBC ライブラリも含まれる Sybase の db-lib または ct-lib ライブラリで使用できます。多くのアプリケーションが Sybase または Microsoft SQL サーバーに接続できるようにします。 FreeTDS はソース コードとしてリリースされているため、ほぼすべてのシステムにコンパイルしてインストールできます。

サーバーが Windows システムの場合は、php_dblib.dll を使用する必要があります。 (Unix 用 FreeTDS の使用に関する詳細。)

通常、これらの DLL ファイルはこの Web サイト (Frank Kromann のサイト) で見つけることができますが、基本的に古いものであり、多くの問題を引き起こす可能性があるため、Windows では PHP バージョン 5.2 を使用することをお勧めします。 .x を選択し、次の提案を参照してください:

1. 以下のフォームに従って php_dblib.dll をダウンロードし、/PHP/ext フォルダーに保存します。



PHP versionThread SafeFreeTDS versionDownload URLPHP 5.2.x (vc6)Yes0.82 + 20090302 patchesDownload!No0.82 + 20090302 patchesDownload!PHP 5.3.x (vc9)Yes0.82 + 20090904 patchesDownload!No0.82 + 20090904 patchesDownload!PHP 5.4.x (vc9)Yes0.82 + 20110906 patchesDownload! FTP Download!No0.82 + 20110906 patchesDownload! FTP Download!2、 FreeTDS 需要安装 .NET Framework v1.1 ,你可以到微软的网站去下载。或者你去Frank's site 下载需要的DLL文件,并保存到你的/PHP根目录下面。

3、在php配置文件 /PHP/php.ini 中添加:

extension=php_dblib.dll
ログイン後にコピー

4、当php引擎启动FreeTDS模块的时候需要传递一些信息,使得FreeTDS能够连接到它的默认的数据库。因此它的需要在freetds.conf中定义数据库连接的基本信息,该文件在其根目录下,可以按照你的情况来进行修改:

[global]
host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520
ログイン後にコピー

5、创建config.php文档来定义数据库连接参数:

$CFG->dbtype = 'mssql'; // Required
$CFG->dbhost = 'localhost'; // assuming MS SQL is on the same server, otherwise use an IP
$CFG->dbname = 'moodle';  // or whatever you called the database you created
$CFG->dbuser = 'yourusername'; // I usually use the 'sa' account (dbowner perms are enough)
$CFG->dbpass = 'yourpassword';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';  //Prefix, you can change it, but NEVER leave it blank.
ログイン後にコピー

6、 重启你的网站,如果还是没有连接到你的数据库的话,在 /PHP/php.ini文件中将display_startup_errors改为"On",当你解决了这些问题之后再将错误报告改为“Off”;

7、测试你的网站,建立test.php文件,代码如下,访问http://www.php.cn/进行测试

<?php
	$link = mssql_connect(&#39;localhost&#39;, &#39;db_user&#39;, &#39;db_password&#39;);
	if(!$link) {
		echo&#39;Could not connect&#39;;
		die(&#39;Could not connect: &#39; . mssql_error());
	}
	echo&#39;Successful connection&#39;;
	mssql_close($link);
?>
ログイン後にコピー

 以上就是php连接微软MSSQL(sql server)完全攻略 的内容,更多相关内容请关注PHP中文网(www.php.cn)!


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート