ホームページ >PHPフレームワーク >ThinkPHP >この方法でTP5.0をSWOOLEで飛ばすことができます!
thinkphp Framework の次のチュートリアル コラムでは、TP5.0 を SWOOLE 上で動作させる方法を紹介します。必要としている友人の役に立てば幸いです。
TP-SWOOLE
現在、TP5.1 は think-swoole2.0 を正式に提供しています。統合レベルですが、5.0 の統合方法は確かに少し味気ありません。そこで、2.0 を検討し、5.0 用の拡張パッケージを開発しました。コンポーザーを使用してダウンロードできますcomposer require xaviertony/xavier-swoole開発の前に、TP5.0 のライフ サイクルをよく理解しておく必要があります。そうでないと、TP5.0 を実行できません。始めること。 TP は主に Apache または NGINX で実行されるため、各操作後に解放されますが、swoole は永続的なメモリです。多くの TP5 クラスはシングルトンで実装されているため、落とし穴にはまるのは避けられません。最大の落とし穴はリクエストです。リクエストは起動後にインスタンス化されるため、強制的にリクエストを削除しないと、今後毎回このインスタンスが使用され、ページに正常にアクセスできなくなります。各リクエストに到達した後、最初にリクエスト インスタンスを削除する必要があります
public static function deletethis() { if (!is_null(self::$instance)) { self::$instance=null; } }サードパーティ パッケージの構成ファイルは application/extra の下にある必要があり、ファイル名は swoole.php
<?php return [ 'host' => '0.0.0.0', // 监听地址 'port' => 9501, // 监听端口 'mode' => '', // 运行模式 默认为SWOOLE_PROCESS 'sock_type' => '', // sock type 默认为SWOOLE_SOCK_TCP 'app_path' => getcwd() . '/application', // 应用地址 如果开启了 'daemonize'=>true 必须设置(使用绝对路径) 'file_monitor' => false, // 是否开启PHP文件更改监控(调试模式下自动开启) 'file_monitor_interval' => 2, // 文件变化监控检测时间间隔(秒) 'file_monitor_path' => [], // 文件监控目录 默认监控application和config目录 // 可以支持swoole的所有配置参数 'pid_file' => getcwd() . '/runtime/swoole.pid', 'log_file' => getcwd() . '/runtime/swoole.log', 'task_worker_num' => 20, //'document_root' => getcwd() . 'public', //'enable_static_handler' => true, 'daemonize' => 1,//守护 'worker_num' => 8, //worker process num 'max_request' => 10000, ];コマンド開始
php think swoole startデーモン起動
php think swoole start -dサービス停止
php think swoole stop
以上がこの方法でTP5.0をSWOOLEで飛ばすことができます!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。