Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 11 вересня 2026

Artisan-команди для дебагу в Laravel Telescope 5.24.0

Laravel Telescope 5.24.0 привносить дві нові Artisan-команди - telescope:list та telescope:show - для читання записів безпосередньо з терміналу. Тепер розробники можуть знаходити запити, винятки, джоби чи SQL-запити та аналізувати їхні батчі без необхідності відкривати веб-дашборд. Реліз від 8 вересня 2026 року також запобігає заміні поточного екрану застарілими запитами з дашборду.

Перегляд записів із терміналу

Команда telescope:list читає останні записи зі сховища Telescope. Передайте тип запису, щоб отримати таблицю з відповідними колонками:

php artisan telescope:list request

Для запитів це означає UUID, HTTP-метод, URI, статус, тривалість та час створення. Telescope має окремі макети таблиць для запитів до бази даних, винятків, джобів, операцій із кешем, логів, пошти, команд та вихідних HTTP-запитів. Якщо не вказати тип, ви побачите змішаний список із коротким описом кожного запису.

Фільтри дозволяють звузити список за тегом, ID батчу або хешем родини:

php artisan telescope:list exception --limit=5
php artisan telescope:list request --tag=Auth:42
php artisan telescope:list --batch=79a09461
php artisan telescope:list --family=8e872e9a

Кожна сторінка містить 20 записів за замовчуванням. Повна сторінка завершується курсором --before для отримання наступного набору:

php artisan telescope:list request --before=24817

Курсор - це sequence ID останнього запису на поточній сторінці. Якщо передати невірний тип запису, Telescope виведе підтримувані значення.

Детальний огляд запису та його батчу

Скопіюйте UUID запису в команду telescope:show, щоб побачити його деталі та решту батчу:

php artisan telescope:show 9d90e4f0-1a15-4f6a-9cca-2e95d70d8d9f

Telescope призначає батч ID роботі, створеній запитом, джобом або командою. Батч запиту може містити SQL-запити, операції з кешем, логи, події, винятки та відрендерені view.

Запити, винятки та джоби мають спеціалізовані детальні вигляди. Виняток включає його клас, повідомлення, місцезнаходження, прилеглий вихідний код та stack trace. Невдалий джоб показує деталі черги та виняток. Інші типи використовують поля зі збереженого контенту.

У таблиці батчу мітка SLOW позначає запити, що перевищують налаштований поріг Telescope. Мітка DUP позначає запити, які мають однаковий SQL-патерн - корисна відправна точка при перевірці проблем N+1 запитів. Секція кешу показує влучання, промахи та відсоток влучань, коли батч містить звернення до кешу.

Для найсвіжішого запису можна замінити UUID на latest або latest:{type}:

php artisan telescope:show latest
php artisan telescope:show latest:request
php artisan telescope:show latest:exception

Агент-кодувальник може зробити запит, запустити telescope:show latest:request та прочитати його SQL-запити без копіювання ідентифікатора з окремої команди.

Використовуйте список типів через кому з опцією --type, щоб обрізати великий батч:

php artisan telescope:show latest:request --type=query,cache

Табличний вивід скорочує довгі SQL-вирази, повідомлення та payload. Додайте --full, щоб вивести їх повністю.

Формат JSON для скриптів та AI-агентів

Обидві команди підтримують опцію --json. Команда telescope:list --json повертає масив записів або порожній масив, якщо нічого не знайдено. Команда telescope:show --json повертає об'єкт entry та хронологічний масив batch. Фільтр --type застосовується до повернення батчу.

Наприклад, jq може витягнути місцезнаходження останнього винятку:

php artisan telescope:show latest:exception --json \
| jq '.entry.content | {class, message, file, line}'

Він також може вибрати недавні серверні помилки із записаних запитів:

php artisan telescope:list request --json --limit=50 \
| jq '.[] | select(.content.response_status >= 500) |
{id, uri: .content.uri, status: .content.response_status}'

Використовуйте JSON, коли результат споживатиме інша програма або коли потрібні точні, нескорочені значення. Використовуйте таблиці під час інтерактивної роботи.

Реліз включає навичку дебагу Telescope для Laravel Boost. AI-агенти, що її використовують, застосовують ці команди для дослідження повільних запитів, винятків, невдалих джобів, повторюваних запитів та промахів кешу. Вони мають завершувати роботу конкретним запитом або файлом і рядком, а не просто симптомом.

Контриб'ютор @pushpak1300 додав команди у pull request #1763.

Скасування застарілих запитів дашборду під час навігації

Telescope опитує нові записи, поки його дашборд відкритий. Раніше запит, розпочатий на одному екрані, міг завершитися після того, як ви вибрали тег, відкрили запис або повернулися назад. Його відповідь могла замінити поточні результати записами зі старого екрану або фільтру.

Індексний екран, екран перегляду, дампів та моніторингу тепер використовують AbortController. Telescope перериває їхні активні запити, коли компонент знищується або змінюється query маршруту, та очищує таймери опитування перед їхнім запуском для нового екрану.

Серверна помилка зупиняє опитування та відображає статус відповіді. Запити, скасовані під час навігації, не показують помилку.

Контриб'ютор @pushpak1300 реалізував цю зміну у pull request #1764.

Посилання

17

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

PHPStan 2.3: стрибок продуктивності, покращені generics і виявлення невикористаних змінних
Новини 06 жовтня 2026

PHPStan 2.3: стрибок продуктивності, покращені generics і виявлення невикористаних змінних

PHPStan 2.3.0 працює до 7,5× швидше, ніж десять місяців тому, має розумніший кеш результатів, двонапрямне звуження типів для generics (new Collection(...)) і нові перевірки невикористаних змінних, присвоєнь та параметрів.

6
Pgvector Laravel
Новини 06 жовтня 2026

Простий векторний пошук подібності для Laravel: драйвер Pgvector для Scout

Бен Бьюрстром створив драйвер Pgvector для Laravel Scout, який автоматично підтримує актуальність векторних ембедингів і дає змогу шукати дані за змістом, а не лише за ключовими словами.

11

Вакансії за темою

Latimeria
6 днів тому

Backend PHP/Symfony Developer - Strong Middle (Not Full Stack)

Розробник backend-сервісів електронної комерції на PHP Symfony. Основний стек: PHP, Symfony, PostgreSQL/MySQL, RabbitMQ, ElasticSearch, API Platform. Вимоги: досвід комерційної розробки на PHP/Symfony від 2 років, SOLID/KISS/DRY, REST API, Git, Docker. Розробка нових та оптимізація існуючих backend-сервісів мікросервісної архітектури.

Smart Orange
6 днів тому

PHP Developer

PHP розробник для розробки та підтримки внутрішньої CRM-системи DevBase. Основні обов'язки: розробка API для інтеграції CRM, підтримка legacy-коду, оптимізація продуктивності та безпеки системи. Вимоги: PHP 7+, знання Phalcon 3 або Laravel, SQL/MySQL, досвід роботи з API та legacy-кодом, англійська B1+.

Wooden Sword
8 днів тому

Senior PHP Developer (Game Backend)

Розробник backend для мобільної RPG з високим навантаженням. Основний стек: PHP Laravel API та TypeScript Nakama Game Server. Відповідальність за повний цикл розробки функцій — від логіки до тестування, code review, оптимізації та документації. Вимоги: 5+ років backend-досвіду, бездоганне знання Laravel/PHP, сильні навички TypeScript, PostgreSQL та асинхронного програмування.

Пакети за темою

Laravel Prompts

laravel/prompts

Гарні інтерактивні поля для консольних команд: запити, паролі, вибір зі списку, автодоповнення і прогрес-бари з валідацією. Використовується самим Artisan і доступне у ваших командах.

721 v0.3.23 6

Collision

nunomaduro/collision

Читабельні повідомлення про помилки в консолі: акуратний стек-трейс із підсвіченим кодом замість стіни тексту. Входить у стандартну поставку Laravel і працює разом із Pest та PHPUnit.

4,657 v8.9.5 2