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

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

WBOY
WBOYオリジナル
2016-07-13 17:34:27958ブラウズ

質問する

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

問題を分析する

本来、SQLServer の読み取りと書き込みには問題はありません。通常、Windows 用の Apache や Windows IIS では、すべて準備ができている ODBC または SQLServer クライアントを介して接続できます。 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 インストール

上記の設定について言いたいことがあります。 --prefix=/usr/local/freetds はディレクトリ /usr/local/freetds にインストールすることを指します。 --with-tdsver=7.0 は tds 7.0 バージョンをインストールすることを指します。最新バージョンではこのコンパイル パラメーターを追加しなかったので、結果はデフォルトで 5.0 にコンパイルされました。

データベース

に接続するための 5.0 のポートは SQL Server の 1433 ではなく 4000 です)ステップ 2:

PHP

4 を再コンパイルする ./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds (sybase であることに注意してください)

作る

メイクインストール

ステップ 3: freetds を構成する

vi /usr/local/freetds/etc/freetds.conf

特定の構成については、このファイルの手順を参照してください

例: (一般的な構成)

[SQLサーバー]

host = sql_server_name_or_host_ip (SQLServer マシン名または IP アドレス)

ポート = 1433

tds バージョン = 7.0

この設定ファイルでは、Windows ドメイン ログインまたは SQLServer アカウント ログインの 2 つの方法を設定できます

ステップ 4:

PHP

.ini ファイルを構成する ;extension=mssql70.so が見つかりました

コメントを

に削除します。

拡張子=mssql70.so

ステップ 5:

PHP

データベース接続を確立する $link=mssql_connect("sqlserver",$your_username,$your_pass

word

) または死ぬ (「データベースに接続できません」); エコー $link

ブラウザで上記のスクリプトを実行すると、リンク番号が表示されます。「未定義の関数への呼び出し: mssql_connect()」が表示された場合は、上記のインストールと構成のプロセスをよく読んで、どの手順を実行するかを確認してください。正しく行われませんでした。

注: sqlserver 名は /usr/local/freetds/etc/freetds.conf で定義されたホスト パラメーターです。IP アドレスを記述する場合は、それが IP アドレスになります。

その他

データベース

操作参照関連のmssql関数

SQL ステートメントでは中国語がサポートされていないことに注意してください

ステップ 6: デバッグ

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

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