Slim. Не могу запустить “Hello World”

94
12 мая 2021, 04:10

Хочу изучить Slim v4 для RESTFull сервера.

Открыл Installation на офф. сайте. Следовал строго по инструкции. На шаге №3 выбрал Slim PSR-7.

При запуске приложения получаю следующую ошибку:

Fatal error: Uncaught Slim\Exception\HttpNotFoundException: Not found. in C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php:91 Stack trace: #0 C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\Routing\RouteRunner.php(60): Slim\Middleware\RoutingMiddleware->performRouting(Object(Slim\Psr7\Request)) #1 C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\MiddlewareDispatcher.php(64): Slim\Routing\RouteRunner->handle(Object(Slim\Psr7\Request)) #2 C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\App.php(174): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request)) #3 C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\App.php(158): Slim\App->handle(Object(Slim\Psr7\Request)) #4 C:\xampp\htdocs\test.com\index.php(16): Slim\App->run() #5 {main} thrown in C:\xampp\htdocs\test.com\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php on line

Структура проекта:

test.com
--> vendor
--> .htaccess
--> composer.json
--> composer.lock
--> index.php

Содержимое composer.json

{
    "require": {
        "slim/slim": "^4.0.0",
        "slim/psr7": "^0.4.0"
    }

Содержимое index.php

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/vendor/autoload.php';
$app = AppFactory::create();
$app->get('/', function (Request $request, Response $response, $args) {
    $response->getBody()->write("Hello world!");
    return $response;
});
$app->run();
}

XAMPP v3.2.2

Apache/2.4.38 (Win64) OpenSSL/1.1.1a PHP/7.3.2

Answer 1

Запустил по иструкции на Open Server, путь к вендор только подправил. --> файл index.php лежит в корне папки/домена проекта - у меня slimpsr7 PHP 7.3.2 Apache2.4+nginx1.14

Структура:

slimpsr7
[vendor]
composer.json
composer.lock 
index.php //Именно тут hello

htaccess нет

При установке ошибок не было. После установки и перед запуском сервер перезагружен.

Содержимое composer.json

{
    "require": {
        "slim/slim": "4.0.0",
        "slim/psr7": "^0.4.0",
        "guzzlehttp/psr7": "^1.6",
        "http-interop/http-factory-guzzle": "^1.0",
        "zendframework/zend-diactoros": "^2.1"
    }
}

index.php

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/vendor/autoload.php';
$app = AppFactory::create();
$app->get('/', function (Request $request, Response $response, $args) {
    $response->getBody()->write("Hello world!");
    return $response;
});
$app->run();
READ ALSO
Изменить формат вывода по regex

Изменить формат вывода по regex

Всем привет, еще только изучаю язык, строго не судите такой вопрос: все номера телефонов в тексте записанные в формате +375XXYYYYYYY с помощью regex заменить...

74
корректная работа значков BottomNavigation

корректная работа значков BottomNavigation

при создании активити происходит выбор какой фрагмент отобразить на основе Extras в intent, и при выборе не первого фрагмента, а второго или третьего...

114
Indexof не распознает кириллицу

Indexof не распознает кириллицу

Есть небольшая проблема - нужно найти индекс элемента в стринговом массиве с помощью IndexOfВот кусок моего кода:

84
Проблема с созданием glFramebuffer

Проблема с созданием glFramebuffer

не могу создать буфер кадра в своем приложении для андроид на javaПожалуйста, можете сказать, что я делаю не так

119