应用层中间件和404好像有冲突

请先 登录 后评论

1 个回答

xtgxiso

你的代码是怎么样的?如下不会有问题:

<?php
use Workerman\Worker;
use Workerman\Protocols\Http;
use WebWorker\Libs\Mredis;
use WebWorker\Libs\Mdb;
use WebWorker\Libs\Mmysqli;
use WebWorker\Libs\Maccess;

require_once 'vendor/autoload.php';

$app = new WebWorker\App("http://0.0.0.0:1215");


//应用级中间件--对所有以api前缀开头的启用签名验证
$app->AddFunc("/api",function() use($config) {
    $data = $_GET ? $_GET : $_POST;
    if ( !Maccess::verify_sign($data,$config["access"]) ){
        $this->ServerHtml("禁止访问");
        return true;
    }
});


//注册路由api/test
$app->HandleFunc("/api/test",function() {
    $this->ServerHtml("api test hello");
});

//自定义404
$app->on404  = function() {
    $this->ServerHtml("我的404");
};

//访问日志
Worker::$stdoutFile = './stdout.log';

// Run worker
Worker::runAll();

请先 登录 后评论
  • 1 关注
  • 0 收藏,389 浏览
  • 何云辉 提出于 2017-10-07 17:29

相似问题