ホームページ  >  記事  >  PHPフレームワーク  >  swooleのインストール方法と使用方法の簡単な分析

swooleのインストール方法と使用方法の簡単な分析

PHPz
PHPzオリジナル
2023-03-27 16:16:211848ブラウズ

Swoole は実稼働環境用の PHP 非同期ネットワーク通信エンジンであり、TCP/UDP/Unix Socket の通常のクライアント/サーバー ネットワーク通信機能に加え、対応する非同期ファイルの読み取りと書き込み、非同期 MySQL およびその他の非同期 I/O 操作を提供します。この機能により、PHP 開発者は、複雑な C/C プログラミングの知識を学習することなく、簡潔でわかりやすい PHP コードを記述するだけで、高同時実行性と高性能のネットワーク サービス アプリケーションを作成できます。

この記事では、Swoole のインストール、基本的な使用法、Web 開発、およびよくある問題の解決策を紹介します。

1. Swoole のインストール

Swoole がサポートする PHP バージョンは PHP5.3 以降で、ソースコードのコンパイルまたは PECL を通じてインストールできます。この方法の詳細な手順:

方法 1. ソース コードを使用してコンパイルしてインストールします

  1. Swoole ソース コードをダウンロードします

Swoole のソース コードからダウンロードできます。公式ウェブサイト ( https://www.swoole.com/) 最新の Swoole ソース コード パッケージをダウンロードします。

  1. ソース コード パッケージを抽出します

ターミナルで次のコマンドを実行して、ソース コード パッケージを解凍します。

tar zxvf swoole-src-4.6.7.tar.gz
  1. 解凍されたファイルを入力します。ディレクトリを作成し、コンパイルしてインストールします

ターミナルで次のコマンドを実行して、解凍されたディレクトリに入り、コンパイルしてインストールします。

cd swoole-src-4.6.7
phpize
./configure
make && make install
  1. Swoole 拡張機能を php.ini に追加します。

php.ini ファイルを編集し、最後に次の行を追加します。

extension=swoole.so
  1. PHP の再起動

PHP を再起動して設定を行います。有効になります。

方法 2. PECL を使用してインストールする

  1. 次のコマンドを実行して Swoole をインストールします
pecl install swoole
  1. 拡張機能を php.ini に手動で追加します

php.ini ファイルを編集し、最後に次の行を追加します。

extension=swoole.so
  1. Restart PHP

PHP を再起動して設定を行います。有効になります。

2. 基本的な使用方法

  1. サーバー

以下は、単純な TCP サーバーのサンプル コードです:

<?php
$serv = new swoole_server("0.0.0.0", 9501);

$serv->on('connect', function ($serv, $fd) {
    echo "Client: Connect.\n";
});

$serv->on('receive', function ($serv, $fd, $from_id, $data) {
    $serv->send($fd, "Server: " . $data);
});

$serv->on('close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

$serv->start();

上記のコードは、TCP サーバーを作成し、ポート 9501 をリッスンします。クライアント接続時は「Client:Connect.」、クライアントからデータ送信時は「Server:Client Data」、クライアント切断時は「Client:Close.」が出力されます。

  1. クライアント

次は、単純な TCP クライアントのサンプル コードです。

<?php
$client = new swoole_client(SWOOLE_SOCK_TCP);

if (!$client->connect('127.0.0.1', 9501, -1)) {
    echo "Error: {$client->errCode}\n";
    exit;
}

$client->send("Hello World!");
echo $client->recv();
$client->close();

上記のコードは、TCP クライアントを作成し、127.0 に接続します。 0.1:9501 ポート。 「Hello World!」文字列を送信し、サーバーがデータを返すのを待ち、最後に接続を閉じます。

3. Web 開発

Swoole は Web 開発もサポートしています。Swoole\Http\Server クラスを使用して Web サーバーを作成し、Swoole\Http\ を使用できます。 Request と Swoole\ Http\Response はリクエストとレスポンスを操作します。以下は簡単な例です:

<?php
$http = new Swoole\Http\Server("0.0.0.0", 9501);

$http->on('request', function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World\n");
});

$http->start();

上記のコードは HTTP サーバーを作成し、ポート 9501 をリッスンします。要求されると、「Hello World」文字列が返されます。

4. 一般的な問題の解決策

  1. 一般的なエラー:「swoole.so: 未定義のシンボル: uv_loop_size」

解決策: これは、欠落しているためです。 libuv ライブラリの場合は、次のコマンドを実行してインストールできます:

yum install libuv
  1. 一般的なエラー: "phpize コマンドが見つかりません"

解決策: phpize コマンドが見つかりません、次のコマンドを実行してインストールできます:

yum install php-devel
  1. Swoole 拡張機能がインストールされているかどうかを確認する方法

次のコマンドを使用して、Swoole 拡張機能がインストールされているかどうかを確認できます。拡張機能がインストールされています:

php -m | grep swoole

「Swoole」が出力された場合 Swoole 拡張機能がインストールされていることを示します。

  1. Swoole を使用するときに Nginx をセットアップする方法

Swoole が提供する swoole_http_server 拡張機能を使用して、Web サーバーを起動し、指定されたポートをリッスンし、その後、その逆を行うことができます。 Nginx をポートにプロキシすることができます。

上記は Swoole の簡単な紹介です Swoole は、インターネット上の高同時性の分野で広く使用されている非常に強力な非同期ネットワーク通信エンジンです。この記事があなたのお役に立ち、Swoole の使い方をさらにマスターするのに役立つことを願っています。

以上がswooleのインストール方法と使用方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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