入口改成require __DIR__ . '/../thinkphp/start.php';还是找不到类呢
来源:7-14 登录模块优化(一)
芭菲雨
2019-01-31
<?php
/**
* 说明
* PHP version 7.2
* @author bafeiyu
* @date 2019/1/23 10:19
*/
class Http
{
public $ip = '0.0.0.0';
public $port = '9504';
public $server = null;
public function __construct()
{
$this->server = new swoole_http_server($this->ip, $this->port);
$this->server->set([
"document_root" => "/home/work/study/htdocs/swoole_imooc/thinkphp/public/static",
"enable_static_handler" => true,
"task_worker_num" => 4
]);
$this->server->on("workerStart", [$this, 'onWorkerStart']);
$this->server->on("task", [$this, 'onTask']);
$this->server->on("request", [$this, 'onRequest']);
$this->server->start();
}
public function onWorkerStart($server, $workerId)
{
//定义框架目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架基础文件
require __DIR__ . '/../thinkphp/start.php';//base
}
//data = array("method"=>"test","data"=>array("phone_num"=>13718454452));
public function onTask($server, $taskId, $workerId, $data)
{
$taskObj = new extend\Task();
$method = $data['method'];
return $taskObj->$method($data['data']);
}
public function onRequest($request, $response)
{
$_SERVER = [];
if (isset($request->server)) {
foreach ($request->server as $k => $i) {
$_SERVER[strtoupper($k)] = $i;
}
}
if (isset($request->header)) {
foreach ($request->header as $k => $i) {
$_SERVER[strtoupper($k)] = $i;
}
}
$_GET = [];
if (isset($request->get)) {
foreach ($request->get as $k => $i) {
$_GET[$k] = $i;
}
}
$_POST = [];
$_POST['http'] = $this->server;
if (isset($request->post)) {
foreach ($request->get as $k => $i) {
$_POST[$k] = $i;
}
}
// 执行应用并响应
if (strpos($_SERVER['PATH_INFO'], '.') === false) {//非静态页面就加载php框架
ob_start();
think\Container::get('app', [defined('APP_PATH') ? APP_PATH : ''])->run()->send();
$res = ob_get_contents();
if ($res) {
ob_end_clean();
}
$response->header('Content-Type', 'text/html; charset=utf8');
$response->end($res);
}
}
}
$server = new Http();
这个类是存在的

写回答
2回答
-
慕粉1546197132
2019-03-16
我也遇到同样的问题了,感觉命名空间都没有生效,找不到Task类,你解决了吗?求解办法
00 -
singwa
2019-02-12
亲爱的同学您好。麻烦您那边的代码打包发我下。我这边直接运行您代码看看,这样排查得速度回更快点。
00
相似问题