Форум программистов, компьютерный форум, киберфорум
PHP: Фреймворки
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 111

Slim micro-framework - кто работает с ним?

30.01.2018, 22:29. Показов 1798. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте.
Решил вот покопаться с этим микрофреймворком.
Ну и поставил третью версию через composer, всё встало хорошо, нет проблем.
Запускаю скрипт hello-word (взятый прямо из мануала) - не работает. Убираю параметр {name} - роутинг проходит. Вернул параметр назад, запускаю и из браузера, и из консоли - нет результата.
Точнее есть, но ошибочный. С параметром - "404", без параметра - "PHP Notice: Undefined index: name..." в логе (но это как раз и понятно, так и должно быть).

Ладно, думаю... Откатил на версию 2.0
Точнее, третью полностью снёс, вторую по новой установил. Аналогичный результат.

Скрипт стандартный (для версии 2.0):
PHP
1
2
3
4
5
6
7
8
require_once 'vendor/autoload.php';
$app = new \Slim\Slim() ;
 
$app->get('/:name', function ($name) {
    echo "Hello, $name";
});
 
$app->run();
Для версии 3.0
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
 
require_once 'vendor/autoload.php';
$app = new \Slim\App() ;
 
$app->get('/{name}', function ( Request $request, Response $response, array $args ) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
 
    return $response;
});
 
$app->run();
Угрохал на этот hello-word целый вечер. Ничего не сделал...
Господа, может, кто подскажет - где тут проблема?

P.S. Только не пишите, что "в голове", не смешно...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2018, 22:29
Ответы с готовыми решениями:

Slim Framework установка
Всем доброго времени! Ребята,подскажите,кто сталкивался с этим фреймворком php? Как это установить на локальный сервер? Столько материала...

Установка Slim Framework
Всем привет! Появилась необходимость поработать с фреймворком slim. До этого composer никогда не использовал. На офф. сайте фреймворка...

Oracle JDeveloper - кто-нибудь работает с ним?
Привет всем! Вот поставил у себя JDeveloper 3.2.3 и Oracle9i DataBase. Оказалось, JDeveloper настроен на поддержку Oracle8.1.7. Я...

7
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.01.2018, 08:43
Цитата Сообщение от EU1CJ Посмотреть сообщение
Точнее есть, но ошибочный. С параметром - "404"
У Вас Apache? .htaccess содержит перенаправление запросов на index.php?
0
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 111
31.01.2018, 09:38  [ТС]
Да. Вот .htaccess
Bash
1
2
3
4
5
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
На main page вход есть. Не в этом проблема.
Выглядит так, что сам Slim в упор не видит get parameters. Ни в каком виде.
То есть, через строку браузера если:
PHP
1
http://common/imya
то ошибка 404. Где "http://common/" это document root.
Если через консоль:
Bash
1
$ php index.php /imya
то же самое.
Если без параметра, то ошибка в лог, о которой я писал выше.
Вот такая картина, и никак не пойму в чём дело.
Причём как для версии 2, так и для версии 3. Одинаково. Понятно, что скорее всего не в них дело. Где-то что-то с настройками..
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.01.2018, 11:07
Цитата Сообщение от EU1CJ Посмотреть сообщение
через строку браузера если ... то ошибка 404
Точно что-то с настройками сервера. Не перенаправляет на index.php
Сейчас установил Slim, в index.php скопировал Ваш код "Для версии 3.0", всё работает.
0
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 111
31.01.2018, 11:25  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Точно что-то с настройками сервера
Вот в том-то и дело. И ведь не первый год замужем, а куда копать - уже ума не приложу.

Только что вот что сделал:
- перенёс весь минимально необходимый source code в новую directory, полностью чистую
- создал новый .conf для виртуального хоста
- прописал этот хост где нужно (и даже где не нужно )
- перезапустил апач

Ноль эмоций.
Потихоньку начинаю тупеть.
Где я мог проколоться?

Добавлено через 2 минуты
И ведь, что интересно, на сервере шесть хостов ещё запущено, и все работают. Кроме Slim.

Добавлено через 4 минуты
Вот если строку №7 из моего первого поста
PHP
1
$app->get('/{name}', function ( Request $request, Response $response, array $args )
заменить на
PHP
1
$app->get('/', function ( Request $request, Response $response, array $args )
работает без проблем.
Ну, только с ошибкой "PHP Notice: Undefined index..." - это чёрт с ним, это пока не важно.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.01.2018, 11:41
Цитата Сообщение от EU1CJ Посмотреть сообщение
Вот если строку №7 из моего первого поста ... работает без проблем
Это понятно. Потому что корневой адрес / существует.
Попробуйте добавить в .conf-файл (основной, для всего Apache или для ) это:
Code
1
2
3
<Directory ПУТЬ/К/САЙТУ/ИЛИ/ОСНОВНОЙ/ПАПКЕ/ВСЕХ/САЙТОВ>
        AllowOverride All
</Directory>
0
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 111
31.01.2018, 16:53  [ТС]
У меня это прописано на глобальную dir всех сайтов.
Но вот интересно: прописал конкретно на этот path, где slim, полезла другаю ошибка - 500
Bash
1
"GET / HTTP/1.1" 500 795 "-" "Mozilla/5.0 (Windows NT 6.1)
Хоть что-то... Есть, куда смотреть.

Добавлено через 4 часа 42 минуты
М-да...
Всё оказалось гораздо прозаичнее, даже обидно как-то...
Оказалось, что rewrite.load не был запущен для апача. Это вот как раз и обнаружилось после появления ошибки 500.
Решилось командой
Bash
1
$ sudo a2enmod rewrite
и рестартом апача.

Para bellum, спасибо за помощь и поддержку.

P.S. И ведь на ровном месте...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.01.2018, 17:08
Рад, что проблема решилась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.01.2018, 17:08
Помогаю со студенческими работами здесь

.NET Micro Framework
Кто-нибудь использовал .NET Micro Framework? ( wiki) Интересует возможность запуска на контроллерах, соответствующих требованиям, но...

STM32F4DISCOVERY + JAVA или .NET Micro Framework
Здравствуйте. Недавно приобрел себе демонстрационную плату STM32F4DISCOVERY в промэлектронике с целью познакомиться с более-менее свежим...

Может, кто-нибудь привести пример простого приложения на фреймворке Slim или Laravel? PHP
Я просто сама не могу разобраться и написать своё что-то

Micro SD не работает
Купил около года назад флешку MRSWIN 32gb , на днях просто сама тупо перестала работать, ни в одном компьютере или телефоне не видна ,...

В Micro Cap не работает вполне рабочая схема
Доброго времени суток. Ситуация такая: решил я помучить MicroCap v10 с целью изучения схемотехники, нашел схему колебательного контура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru