Linux での PHP MSSQL 拡張機能、linuxmssql のインストールに関するチュートリアル
PHP は当然 MySQL を十分にサポートしていますが、PHP を使用して SQL Server を操作したい場合は、時間がかかります。今日はたまたまチーム内のプロジェクトで SQL Server を操作するために PHP を使用する必要があったので、環境の構築を手伝いました。
まず、サーバーのシステムバージョンがSUSE Linux Enterprise Server 10 SP3であることを説明させていただきます。
1. FreeTDS をインストールします
アドレス: FreeTDS
コードをコピーします コードは次のとおりです:
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix
作成&&インストール
インストールが成功したら、ダイナミック リンク ライブラリのキャッシュを更新することをお勧めします:
コードをコピーします コードは次のとおりです:
echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
ldconfig
2. FreeTDS を構成して接続テストを行う
FreeTDS の設定ファイルは、インストール ディレクトリの etc に配置されます。最初のステップの設定パラメータに従って、FreeTDS は /usr/local/freetds にインストールされます。
コードをコピーします コードは次のとおりです:
vim /usr/local/freetds/etc/freetds.conf
FreeTDSの具体的な設定項目が分からないのでここでは詳しくは述べませんが、中国語の文字化け問題を解決するためのより重要な設定を紹介します。構成ファイルに次のステートメントを追加します:
コードをコピーします コードは次のとおりです:
クライアントの文字セット = utf8
次に、tsql コマンドを使用して、SQL Server データベースに正常に接続できるかどうかをテストします。
コードをコピーします コードは次のとおりです:
cd /usr/local/freetds/bin
./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456
接続が正常であれば、次のステートメントが表示されます:
コードをコピーします コードは次のとおりです:
ロケールは「zh_CN.UTF-8」です
ロケール文字セットは「UTF-8」です
1>
3. php
のmssql拡張機能をインストールします。
サーバー上の PHP バージョンは 5.3.13 で、PHP は /usr/local/services/php にインストールされており、拡張機能ディレクトリは /usr/local/services/php/extensions です。 mssql 拡張機能をインストールする方法は次のとおりです:
コードをコピーします コードは次のとおりです:
cd php-5.3.13/ext/mssql/
/usr/local/services/php/bin/phpize
./configure --with-php-config=/usr/local/services/php/bin/php-config --with-mssql=/usr/local/freetds
#Generate拡張ファイルを作成し、カレントディレクトリのモジュールフォルダに配置します
cp modules/mssql.so /usr/local/services/php/extensions/ #拡張ファイルを PHP 拡張ディレクトリにコピーします
4. php.iniを設定し、インストール結果を確認します
php.ini を開き、次の展開ステートメントを追加します:
コードをコピーします コードは次のとおりです:
拡張子=mssql.so
PHP サービスを再起動した後 (サーバーは php-fpm を使用します)、phpinfo を出力します。以下の設定が表示されれば、php は SQL Server を正常に動作させることができます。
。
1. unixODBC を自分でインストールすることで、この問題を解決できる可能性があります。/etc/selinux の
SELINUX=enforce
を次のように変更します。 3. おそらくmssqlの制限によりリモートログインが妨げられている可能性があります
Linuxにphpをインストールした後、他の拡張モジュールをインストールする方法