ホームページ > PHPフレームワーク > ThinkPHP > Think-Swoole チュートリアルのインストール

Think-Swoole チュートリアルのインストール

リリース: 2020-09-14 09:28:12
転載
4138 人が閲覧しました

Swoole は PHP の拡張機能であるため、Swoole をインストールすることは基本的に PHP 拡張機能をインストールすることになります。 Swoole は、Linux、FreeBSD、MacOS の 3 つのオペレーティング システムのみをサポートします。

推奨チュートリアル: 「thinkphp」 「swoole チュートリアル

インストール準備

インストールの前に次のソフトウェアがシステムにインストールされていることを確認する必要があります。

php-7.1 或更高版本
gcc-4.8 或更高版本
make
autoconf
ログイン後にコピー

通常、最初の 3 つはインストールされており、autoconf ツールをインストールする必要があります。

Linux:yum install autoconf
Mac:brew install autoconf
ログイン後にコピー

PHP 用の Swoole 拡張機能をインストールします

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

ダウンロード アドレス: https://github.com/swoole/swoole- src /releases

通常の状況では、最新バージョンをダウンロードします。

2. PHP 拡張ディレクトリに解凍します。たとえば、解凍パスは次のとおりです:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/
ログイン後にコピー

解凍されたディレクトリには swoole という名前を付けることができます。

3. 解凍したswooleディレクトリに入りphpizeコマンドを実行します 環境変数にコマンドが追加されていない場合は絶対パスで実行できます

sudo /Applications/MAMP/bin/php/php7.2.10/bin/phpize
ログイン後にコピー

私の環境には複数のPHPがあるのでコンピュータのバージョンが異なるため、現在使用しているバージョンを指定してコマンドを実行しました。

コマンド パス: /php インストール ディレクトリ/bin/phpize

4. コマンド実行:

./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config --enable-openss --enable-http2
ログイン後にコピー

具体的なパスは実際の状況に応じて変更されます。

5. コマンドの実行後:

make && make install
ログイン後にコピー

成功すると、インストール アドレスが表示されます。たとえば、私のアドレスは次のとおりです:

/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/
ログイン後にコピー

このディレクトリに入り、存在するかどうかを確認します。中には腫れ物が入っています。

6. swoole 拡張機能を php.ini に追加します。

現在使用している PHP バージョンの構成ファイルを必ず選択してください。このファイルは、php --ini コマンドを使用して表示できます。私の場所は次のとおりです:

/Applications/MAMP/bin/php/php7.2.10/conf/php.ini
ログイン後にコピー

php.ini ファイルを開いて拡張子を追加します:

extension=”/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/swoole.so”
ログイン後にコピー

MAMP 統合環境を使用している場合は、上記の php.ini ファイルを変更するだけでなく、統合環境の動的構成 php.ini ファイルを変更する必要がある場合は、パネルの php オプションでバージョンの後の矢印をクリックするか、ファイル -> テンプレートの編集 -> PHP -> PHP 7.xx -> をクリックします。 php.ini を変更します。

7. インストールが完了したら、コマンド

php -m
ログイン後にコピー

を実行して、リストに swoole モジュールがあるかどうかを確認し、あればインストールは成功です。

php --ri swoole コマンドを実行して、swoole 関連情報を表示します。

8. テスト

次のパスを入力し、実際の状況に応じて変更します:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/swoole/examples/server
ログイン後にコピー

その中にecho.phpファイルがあるので、それを開きます。次のコード行が表示されます。

$serv = new swoole_server("0.0.0.0", 9501);
ログイン後にコピー

はすべての IP をリッスンすることを意味し、ポート番号は 9501 です。

コマンド ラインで、次のコマンドを入力します:

php echo.php
ログイン後にコピー

コマンドが実行されており、カーソルがなく、エラーが報告されない場合は、新しいコマンド ウィンドウを作成して次のコマンドを入力します。 command:

Linux:
netstat -anp | grep 9501
Mac:
ps -ef | grep 9501
ログイン後にコピー

このプロセスはすでに実行されており、pid プロセス番号を持っていることがわかります。テストは成功しました。

ThinkPHP フレームワークに Think-Swoole 拡張機能をインストールする

PHP 拡張機能をインストールした後、フレームワークに拡張機能をインストールする必要があります。

まず、ThinkPHP フレームワークをダウンロードする必要があります (Think-Swoole 拡張機能は現在、ThinkPHP 5.1 と ThinkPHP 6 をサポートしています。いくつかの新しい機能をデモンストレーションするために、以降の記事では最新の ThinkPHP 6 フレームワークを使用します)。次に、フレームワークに移動します。 ルート ディレクトリで Think-Swoole インストール コマンドを実行します。

ThinkPHP 5.1 インストール コマンド

ThinkPHP 6 インストール コマンド

インストールが完了したら、次のコマンドを実行します。コマンド:

php think swoole
ログイン後にコピー

下の図のプロンプトが表示された場合、プラグインは正常に使用できます:

Think-Swoole チュートリアルのインストール

エラー 1:

上記のコマンドをインストールして実行したときにエラーが報告されました。Xdebug プラグインが使用できないことを示すエラー メッセージが表示されるので、そのまま閉じてください。 MAMP 環境では、php オプションで直接オフにすることができます。

エラー 2:

[Swoole\Exception]
failed to listen server port[127.0.0.1:80], Error: Permission denied[13]
ログイン後にコピー

app/config/swoole.php を開くと、ポートがポート 80 に対応していることがわかります。Linux と Mac では、スーパー管理者だけがポート 1024 以下を持っているためです。アクセス許可を使用して、ポートを 9501 に変更できるようにします (デフォルトのホストは 127.0.0.1 で、これはローカル アドレスを監視することを意味しますが、ここでは 0.0.0.0 に変更され、これはすべてのアドレスを監視することを意味します)。

swoole サービスがオンになったら、テストしてみましょう。ブラウザに 127.0.0.1:9501 と入力すると、通常どおりアクセスできます:

Think-Swoole チュートリアルのインストール

同時に、これは、Swoole には、Apache や Nginx に相当する http サービスを開くのに役立つ HTTP サーバーが付属していることも示しています。

この時点で、Think-Swoole プラグインのインストールは完了です。

以上がThink-Swoole チュートリアルのインストールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:阿dai哥
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート