創造し続け、成長を加速!「ナゲッツデイリー新プラン・10月アップデートチャレンジ」参加5日目、イベント詳細はこちら
Thinkphp5.0 フレームワークで workerman を使用する方法、この公式マニュアルには例も記載されています
「 thinkphp5.0 公式マニュアル」をご覧ください。
ただし、彼が示した例はあまり詳細ではないかもしれません. 頻繁に読まないと理解できないかもしれません. おそらくここに追加して、グラフィックの例を書きます:
1 : Worker.php ファイルを追加する
注: このファイルは実際には普段使用しているコントローラーなので、アクセスできる限り、追加の場所は個人的な好みに依存します. ここでは、次の図に示すように、application/api/controller に追加しました:
内容は次のとおりです。
<?php
/**
* auther:camellia
* date:20200815
* email:805795955@qq.com
*/
namespace app\api\controller;
use think\Controller;
use think\Request;//使用request对象
use think\Db;//引入数据库操作类
use think\Session; //使用session驱动
use think\worker\Server;
class Worker extends Server
{
protected $socket = 'websocket://127.0.0.1:8082';
/**
* 收到信息
* @param $connection
* @param $data
*/
public function onMessage($connection, $data)
{
$connection->send('我收到你的信息了');
}
/**
* 当连接建立时触发的回调函数
* @param $connection
*/
public function onConnect($connection)
{
}
/**
* 当连接断开时触发的回调函数
* @param $connection
*/
public function onClose($connection)
{
}
/**
* 当客户端的连接上发生错误时触发
* @param $connection
* @param $code
* @param $msg
*/
public function onError($connection, $code, $msg)
{
echo "error $code $msg\n";
}
/**
* 每个进程启动
* @param $worker
*/
public function onWorkerStart($worker)
{
}
}
复制代码
2 : プロジェクトのルート ディレクトリに起動ファイル worker.php を追加します (注: フレームワークのブートストラップ ファイルを読み込みます)。
ファイルの配置場所は次のとおりです。
内容は次のとおりです。
#!/usr/bin/env php
<?php
define('APP_PATH', __DIR__ . '/application/');
define('BIND_MODULE', 'api/Worker');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
复制代码
3: workerman サービスを開始する
server.php があるディレクトリに入るコマンド ライン
埋め込む:
php server.php start #注意大小写,注意启动文件的名称是否是server.php
复制代码
次の図に示すように、実行は成功します。
以下は、workerman の一般的なコマンドの一般的なリストです。
php worker.php status #可以查看当前进程和服务器运行状态
php worker.php connections #可以查看当前连接状态
php worker.php reload #平滑重启服务器(用户不掉线)
php worker.php restart #强制重启服务器(所有用户都会掉线)
php worker.php stop #停止服务器
php worker.php start #以调试方式启动服务器(debug状态,log将直接打印到终端)
php worker.php start -d #以守护进程方式启动服务器(产品状态,log将被写入文件)
复制代码
詳しくは「ワーカーマン公式マニュアル」をご覧ください。
良い提案があれば、下にコメントを入力してください。
個人ブログ guanchao.siteへようこそ
私のアプレットへようこそ: WeChat を開く -> 発見 -> アプレット -> 「in time」を検索