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 "连接成功"; }
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
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根目录下面。 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”; <?php $link = mssql_connect('localhost', 'db_user', 'db_password'); if(!$link) { echo'Could not connect'; die('Could not connect: ' . mssql_error()); } echo'Successful connection'; mssql_close($link); ?> ログイン後にコピー 以上就是php连接微软MSSQL(sql server)完全攻略 的内容,更多相关内容请关注PHP中文网(www.php.cn)!
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
function_exists() はカスタム関数を決定できません
Function test () {return true;} if (function_exists ('test')) {echo "テストは関数です";
から 2024-04-29 11:01:01
0
2
1984
Google Chromeのモバイル版を表示する方法
こんにちは、先生、Google Chrome をモバイル版に変更するにはどうすればよいですか?
から 2024-04-23 00:22:19
0
10
2146
親ウィンドウには出力がありません
document.onclick = function(){ window.opener.document.write('私は子ウィンドウの出力です');
から 2024-04-18 23:52:34
0
1
1706
関連トピック
詳細>
|