首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误: Slim 4.7中未捕获Slim\Exception\HttpNotFoundException

致命错误: Slim 4.7中未捕获Slim\Exception\HttpNotFoundException
EN

Stack Overflow用户
提问于 2021-03-23 22:49:45
回答 1查看 501关注 0票数 0

我正在尝试启动我的应用程序,但每次我在浏览器http://localhost/中打开它时,它都会显示以下错误:

代码语言:javascript
复制
/* namespace handles; use connection\Sql; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Slim\Factory\AppFactory; $app = AppFactory::create(); $sql = new Sql(); $stmt = $sql -> comand( "SELECT * FROM substancias" ); $app->get('/hello/{name}', function (Request $request, Response $response, $args) { $name = $args['name']; $response->getBody()->write("Hello, $name"); return $response; }); $app->run(); var_dump($stmt); */

Fatal error: Uncaught Slim\Exception\HttpNotFoundException: Not found. in C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php:91 Stack trace: #0 C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\Routing\RouteRunner.php(72): Slim\Middleware\RoutingMiddleware->performRouting(Object(Slim\Psr7\Request)) 
#1 C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\MiddlewareDispatcher.php(81): Slim\Routing\RouteRunner->handle(Object(Slim\Psr7\Request)) 
#2 C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\App.php(215): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request)) 
#3 C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\App.php(199): Slim\App->handle(Object(Slim\Psr7\Request)) 
#4 C:\Users\mathe\Desktop\conscious\backend\vendor\src\index.php(24): Slim\App->run() 
#5 {main} thrown in C:\Users\mathe\Desktop\conscious\backend\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php on line 91

我已经试过setBasePath了,但还是不能工作,有人能帮我吗?谢谢

C:\Users\mathe\Desktop\conscious\backend\vendor\src中的Index.php代码:

代码语言:javascript
复制
<?php
namespace src;

header("Access-Control-Allow-Headers: *");
require("../autoload.php");

use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
use handles\userhandle;

$ei = "test";

$app = AppFactory::create();
$app->setBasePath('/myapp');

$user = new userhandle();

$app->get('/aki' , function(Request $request, Response $response){
    global $user;
    $user->VER($request, $response);
});

$app->run();

var_dump($ei);

?>

C:\Users\mathe\Desktop\conscious\backend\vendor\src\handles内部的userhandle.php:

代码语言:javascript
复制
<?php
namespace handles;

header("Access-Control-Allow-Headers: *");
require("../../../vendor/autoload.php"); 

use connection\Sql;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;

class userhandle {
    private $sql;

    public function VER(Request $request, Response $response){
        $this->sql = new sql();
        
        $stmt = $this->sql -> comand(
        "SELECT * FROM substancias"
        );
        $response->getBody()->write($stmt);
        return $response;
    } 
}
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 21:40:15

在-> $app = AppFactory::create();之后

添加-> $app->addErrorMiddleware(true, true, true);

添加index.php所在的-> $app->setBasePath("/project_folder/api"); //文件夹

这是我的.htaccess (也位于api文件夹)

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66765568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档