ホームページ  >  記事  >  バックエンド開発  >  Linux_PHP チュートリアルで MS SQLServer を PHP に接続する方法

Linux_PHP チュートリアルで MS SQLServer を PHP に接続する方法

WBOY
WBOYオリジナル
2016-07-15 13:23:081015ブラウズ

質問する

私たちは数日前、チャイナユニコムSGIPプロトコルに基づいてチャイナユニコム130 SMSサービスを提供するためのSP側ショートメッセージサービスソフトウェアのセットを開発しました。このシステムは Windows 2000 上で動作しています。データベースは Microsoft SQLServer2000 を使用しており、しばらくの間正常に動作しています。最近、ショートメッセージユーザーの情報をWEB上で提供するには、WEBからSQL Serverデータベースを読み書きする必要がありますが、本来、SQL ServerデータベースのベストパートナーはMicrosoft IIS ASPサーバースクリプトであるはずです。当社は、IIS+ASP の安定性とセキュリティが満足のいくものではないと常に考えてきました。PHP スクリプトを使用して Linux で SQL Server を読み書きしたいと考えています。


問題の分析

元々、PHP スクリプトの SQLServer の読み書きには問題はありませんが、Windows 用の Apache および Windows IIS では通常、ODBC または SQLServer Client を介して接続できます。これらはすべて Windows で既製です。ただし、Linux には既製の ODBC および SQLServer クライアントが存在しないため、自分でインストールする必要があります。

問題を解決してください

1. 関連ソフトウェア
freetds 出典: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz
このソフトウェアは Linux に接続できますUnix MS SQLServer と Sybase データベース。

2 番目のインストールと構成の手順

ステップ 1: freetds をコンパイルしてインストールします。
freetds-0.53.tgz
cp freetds-0.53.tgz /tmp/ を取得した後 (freetds パッケージを /tmp ディレクトリにコピーします)。
cd / tmp (ディレクトリに入る)
tar zxvf freetds-0.53.tgz (解凍する)
cd freetds-0.53 (解凍されたディレクトリに入る)
./configure –prefix=/usr/local/freetds --with-tdsver= 7.0
gmake ( Makefile を生成、テスト済み、make も実行できます)
gmake install (インストール)
上記のconfigureについて言いたいのですが、 --prefix=/usr/local/freetds はインストールすることを意味しますディレクトリ /usr/local/freetds --with-tdsver=7.0 は、tds 7.0 バージョンのインストールを指します (最初はこのコンパイル パラメーターを追加しなかったので、結果はデフォルトで 5.0 にコンパイルされました。5.0 が接続するポート)データベースは SQL Server の 1433 ではなく 4000)

2 番目のステップ: PHP4 を再コンパイルします
./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/ freetds (sybase であることに注意してください)
make
make install
ステップ 3: freetds を構成する
vi /usr/local/freetds/etc/freetds.conf
具体的な構成については、ファイル内の手順を参照してください
例: (一般的な構成)
[sqlserver]
host = sql_server_name_or_host_ip (SQLServer マシン名または IP アドレス)
port = 1433
tds version = 7.0
この設定ファイルでは、Windows ドメイン ログインまたは SQLServer アカウント ログインの 2 つの方法を設定できます

ステップ 4: php.ini ファイルを構成します
Find;extension=mssql70.so
コメントアウト;
extension=mssql70.so に削除します

ステップ 5: php でデータベース接続を確立します
$link=mssql_connect("sqlserver",$your_username) ,$your_password) または die ("can't Connect to Database");
echo $link;
リンク番号を取得したら、未定義の関数を呼び出すように設定しました。 : mssql_connect() が表示される場合は、上記のインストールと構成のプロセスを注意深く読む必要があり、1 つの手順も正しくありませんでした。
注: sqlserver 名は、/usr/local/freetds/etc/freetds.conf で定義されたホスト パラメーターであり、IP アドレスを記述する場合は、それが IP アドレスになります。
他のデータベース操作については、関連する mssql 関数を参照してください
SQL ステートメントでは中国語がサポートされていないことに注意してください!!!

ステップ 6: デバッグ
接続できない場合は、freetds 構成ファイル = /tmp/ で見つけてください。 freetds. ログ行で、その前にあるセミコロンをコメント アウトし、テスト スクリプトを再度実行して、/tmp/freetds.log ファイルを確認します。問題のトラブルシューティングに役立つ多くのエラー情報が得られます。



www.bkjia.com本当http://www.bkjia.com/PHPjc/446881.html技術記事私が数日前にこの質問を提起したとき、私は非常に奇妙なプロジェクトを行いました。当社はチャイナユニコムの SGIP プロトコルに基づいて、チャイナユニコム 130 SMS サービスを提供するための SP 側のショート メッセージ サービス ソフトウェアのセットを開発しました。このシステムは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。