ホームページ php教程 php手册 基于Linux下PHP连接SQL Server的FreeTDS配置

基于Linux下PHP连接SQL Server的FreeTDS配置

Jun 13, 2016 am 11:12 AM
centos freetds linux php server sql に基づく 接続する 構成

CentOS 5.4 Linux 下的 PHP(FastCGI) 需要连接相关部门的SQL Server 2000数据库,配置了扩展FreeTDS扩展。

1、编译安装FreeTDS

<ol class="dp-xml">
<li class="alt"><span><span>mkdir -p /data0/software/  </span></span></li>
<li><span>cd /data0/software/  </span></li>
<li class="alt"><span>wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz  </span></li>
<li><span>tar zxvf freetds-stable.tgz  </span></li>
<li class="alt"><span>cd freetds-0.82/  </span></li>
<li>
<span>./configure </span><span class="attribute">--prefix</span><span>=/usr/local/webserver/freetds </span><span class="attribute">--with-tdsver</span><span>=</span><span class="attribute-value">8</span><span>.0 --enable-msdblib  </span>
</li>
<li class="alt"><span>make && make install  </span></li>
<li><span>cd ../  </span></li>
<li class="alt"><span> </span></li>
<li>
<span>echo "/usr/local/webserver/freetds/lib/" </span><span class="tag">></span><span> /etc/ld.so.conf.d/freetds.conf  </span>
</li>
<li class="alt"><span>ln -s /usr/local/webserver/freetds/lib/libsybdb.so.5.0.0 /usr/local/webserver/freetds/lib/libsybdb.so.4  </span></li>
<li><span>/sbin/ldconfig  </span></li>
<li class="alt"><span> </span></li>
<li><span>rm -f /usr/local/webserver/freetds/etc/freetds.conf  </span></li>
<li class="alt"><span>vi /usr/local/webserver/freetds/etc/freetds.conf  </span></li>
</ol>
ログイン後にコピー

输入以下内容:

引用

<ol class="dp-xml">
<li class="alt"><span><span>[global]  </span></span></li>
<li><span>        # TDS protocol version  </span></li>
<li class="alt">
<span>;       tds </span><span class="attribute">version</span><span> = </span><span class="attribute-value">4</span><span>.2  </span>
</li>
<li><span> </span></li>
<li class="alt"><span>        # Whether to write a TDSDUMP file for diagnostic purposes  </span></li>
<li><span>        # (setting this to /tmp is insecure on a multi-user system)  </span></li>
<li class="alt">
<span>;       dump </span><span class="attribute">file</span><span> = /tmp/freetds.log  </span>
</li>
<li>
<span>;       debug </span><span class="attribute">flags</span><span> = </span><span class="attribute-value">0xffff</span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li><span>        # Command and connection timeouts  </span></li>
<li class="alt">
<span>;       </span><span class="attribute">timeout</span><span> = </span><span class="attribute-value">10</span><span> </span>
</li>
<li>
<span>;       connect </span><span class="attribute">timeout</span><span> = </span><span class="attribute-value">10</span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li><span>        # If you get out-of-memory errors, it may mean that your client  </span></li>
<li class="alt"><span>        # is trying to allocate a huge buffer for a TEXT field.  </span></li>
<li><span>        # Try setting 'text size' to a more reasonable limit  </span></li>
<li class="alt">
<span>        text </span><span class="attribute">size</span><span> = </span><span class="attribute-value">64512</span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>        </span><span class="attribute">host</span><span> = </span><span class="attribute-value">mssql</span><span>.yourdomain.com  </span>
</li>
<li>
<span>        </span><span class="attribute">port</span><span> = </span><span class="attribute-value">1433</span><span> </span>
</li>
<li class="alt">
<span>        tds </span><span class="attribute">version</span><span> = </span><span class="attribute-value">8</span><span>.0  </span>
</li>
<li>
<span>        client </span><span class="attribute">charset</span><span> = </span><span class="attribute-value">UTF</span><span>-8 </span>
</li>
</ol>
ログイン後にコピー

2、编译安装PHP自带MSSQL扩展

进入本地已存在的php-5.2.XX源码包目录:

<ol class="dp-xml">
<li class="alt"><span><span>cd /data0/software/php-5.2.XX/ext/mssql/  </span></span></li>
<li><span>/usr/local/webserver/php/bin/phpize  </span></li>
<li class="alt">
<span>./configure </span><span class="attribute">--with-php-config</span><span>=/usr/local/webserver/php/bin/php-config </span><span class="attribute">--with-mssql</span><span>=/usr/local/webserver/freetds/  </span>
</li>
<li><span>make && make install  </span></li>
</ol>
ログイン後にコピー

3、在php.ini配置文件中增加mssql.so

<ol class="dp-xml"><li class="alt"><span><span>vi /usr/local/webserver/php/etc/php.ini  </span></span></li></ol>
ログイン後にコピー

增加一行:

引用

<ol class="dp-xml"><li class="alt"><span><span class="attribute">extension</span><span> = </span><span class="attribute-value">"mssql.so"</span><span> </span></span></li></ol>
ログイン後にコピー

4、重启PHP FastCGI

<ol class="dp-xml"><li class="alt"><span><span>/usr/local/webserver/php/sbin/php-fpm restart  </span></span></li></ol>
ログイン後にコピー

5、测试文件(test_mssql.php):

<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span>     </span></span></li>
<li>
<span>header("Content-type: text/html; </span><span class="attribute">charset</span><span>=</span><span class="attribute-value">utf</span><span>-8");     </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">msdb</span><span>=</span><span class="attribute-value">mssql_connect</span><span>("mssql.yourdomain.com:1433","username","password");     </span>
</li>
<li><span>if (!$msdb) {     </span></li>
<li class="alt"><span>        echo "connect sqlserver error";     </span></li>
<li><span>        exit;     </span></li>
<li class="alt"><span>}     </span></li>
<li><span>mssql_select_db("database_name",$msdb);     </span></li>
<li class="alt">
<span>$</span><span class="attribute">result</span><span> = </span><span class="attribute-value">mssql_query</span><span>("SELECT top 5 * FROM table", $msdb);     </span>
</li>
<li>
<span>while($</span><span class="attribute">row</span><span> = </span><span class="attribute-value">mssql_fetch_array</span><span>($result)) {     </span>
</li>
<li class="alt"><span>        var_dump($row);     </span></li>
<li><span>}     </span></li>
<li class="alt"><span>mssql_free_result($result);     </span></li>
<li>
<span class="tag">?></span><span>    </span>
</li>
</ol>
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxのDocker:Linuxシステムのコンテナ化 LinuxのDocker:Linuxシステムのコンテナ化 Apr 22, 2025 am 12:03 AM

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

IISとPHPの互換性:ディープダイビング IISとPHPの互換性:ディープダイビング Apr 22, 2025 am 12:01 AM

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

Centos:サポートを終了する決定につながったもの Centos:サポートを終了する決定につながったもの Apr 23, 2025 am 12:10 AM

redhatedSuportforcentosososososowardsAcommercusedModelwithsostream.1)CentoStransitionedTocentSossTreamForrheldevelopment.2)thisencouragedUserstometorhel.3)代替Lockylinux、Rockylinux、andoraclelenexemergededasreplecements。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

session_start()が複数回呼び出されるとどうなりますか? session_start()が複数回呼び出されるとどうなりますか? Apr 25, 2025 am 12:06 AM

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

CでDMA操作を理解する方法は? CでDMA操作を理解する方法は? Apr 28, 2025 pm 10:09 PM

CのDMAとは、直接メモリアクセステクノロジーであるDirectMemoryAccessを指し、ハードウェアデバイスがCPU介入なしでメモリに直接データを送信できるようにします。 1)DMA操作は、ハードウェアデバイスとドライバーに大きく依存しており、実装方法はシステムごとに異なります。 2)メモリへの直接アクセスは、セキュリティリスクをもたらす可能性があり、コードの正確性とセキュリティを確保する必要があります。 3)DMAはパフォーマンスを改善できますが、不適切な使用はシステムのパフォーマンスの低下につながる可能性があります。実践と学習を通じて、DMAを使用するスキルを習得し、高速データ送信やリアルタイム信号処理などのシナリオでその効果を最大化できます。

作曲家:AIを介したPHP開発の援助 作曲家:AIを介したPHP開発の援助 Apr 29, 2025 am 12:27 AM

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

MacOS vs. Linux:違いと類似性の調査 MacOS vs. Linux:違いと類似性の調査 Apr 25, 2025 am 12:03 AM

MacOSANDLINUXBOTHEFFERUNIQUESTRENGSS:MacOSProvidesAuser-FriendlyExperienceとExcellenthardWareIntegration、Whilelinuxexcelsinfexibility andCommunitySupport.macos、decondbyApple、sleekinterfaceStemation、whiseedlinuxを使用しています

See all articles