概要:
この記事では、主にPHPのswoole拡張機能を使用してftpサーバーを実装し、同時にftpサーバーのパーソナライズされた機能とセキュリティを拡張する方法について説明します。完全に制御できる FTP サーバー、カスタマイズ可能な FTP サーバーを実際に実現します。
本文:
FTPサーバーについては誰もがよく知っているはずで、それを使用するための既製のソフトウェアがたくさんあります。しかし、無料ソフトでは機能がニーズに合わない場合があり、二次開発ができなかったり、有料ソフトは価格が比較的高かったりします。 PHP の swoole 拡張機能は、PHP 言語用の高性能ネットワーク通信フレームワークであり、PHP 言語の非同期マルチスレッド サーバー、非同期 TCP/UDP ネットワーク クライアント、非同期 MySQL、データベース接続プール、AsyncTask、メッセージ キュー、ミリ秒タイマー、非同期ファイルを提供します。読み取りと書き込み、非同期 DNS クエリ。
Swooleは、インターネット、モバイル通信、エンタープライズソフトウェア、オンラインゲーム、モノのインターネット、車両のインターネット、スマートホームなどの分野で広く使用できます。 PHP+Swoole をネットワーク通信フレームワークとして使用すると、企業の IT 研究開発チームの効率が大幅に向上し、革新的な製品の開発にさらに集中できます。
Swooleの最下層には、非同期ノンブロッキングのマルチスレッドネットワークIOサーバーが組み込まれています。 PHP プログラマはイベント コールバックを処理するだけでよく、基礎となる層について気にする必要はありません。 Nginx/Tornado/Node.js などの完全な非同期フレームワークとは異なり、Swoole は完全な非同期と同期の両方をサポートします。
この基盤により、TCP/IP プロトコルに基づくサーバー開発が容易になります。 C# や他の言語でも実装できるのに、なぜ PHP を使用するのかと疑問に思うかもしれません。主に考慮すべき点は開発効率だと思います。 PHP は、コンパイルを必要とせず、開発と展開が高速なスクリプト言語です。
早速、手順をご紹介します:
00 プラットフォームを準備します。ここでは CentOS7 を使用しています;
01 php および swoole 拡張機能をインストールするには、http://wiki.swoole.com/wiki/page/6.html を参照してください。
02 文字セットを設定します。ftp で処理されるファイル名は文字化けしやすいため、Windows との一貫性を保つために、オペレーティング システムの文字セットを GB18030 に設定することをお勧めします。ただし、現在、ほとんどの ftp クライアントは utf8 もサポートしています。ファイル名のエンコードが不十分なので使いにくいです。何か良い解決策があればお気軽に教えてください、ありがとうございます
03 PHP プログラムの作成を開始し、PHP プログラムをテストします。
04 php版のftpサーバーをデプロイします。
ftpサーバーを実現するためのこの記事の機能目標は次のとおりです。 リーリー
続く…
サンプルプログラムはhttp://share.realdatamed.comをご参照ください