Хостинг — это система: сначала установите факты, потом что-то меняйте
Проблема хостинга часто выглядит как «сломался скрипт», хотя настоящая причина — версия PHP, отсутствующее расширение, закончившееся место, права, сеть или почтовый транспорт. Работать в терминале спокойнее, когда сначала описываешь машину, которая существует на самом деле.
Один и тот же проект может вести себя по-разному на разных хостингах
Файлы могут быть одинаковыми, а среда выполнения — нет. Версия PHP, загруженные расширения, ограничения файловой системы, владелец, права, время, сетевой доступ и политика сервера влияют на то, что приложение вообще способно сделать.
Поэтому первый полезный вопрос — не «что мне изменить?», а «в каком окружении это выполняется?». Терминал хорош тем, что превращает расплывчатое «окружение» в факты, которые можно посмотреть.
Начните с одного экрана фактов
Нормальная сводка не доказывает, что приложение здорово. Это исходный снимок — быстрый способ заметить, что машина, Core или среда выполнения не те, которые вы ожидали увидеть, прежде чем уходить в глубокую диагностику.
coredoctor -qsys hostsys uptimeВозможность PHP существует только тогда, когда её действительно предоставляет текущая среда выполнения
Отсутствующая возможность — не то же самое, что неправильная команда. Лучше получить ясную ошибку о недоступной возможности, чем строить случайные обходы: сначала проверьте расширение PHP, затем решайте — включить его, выбрать другой инструмент или перенести задачу.
php versionphp modulesphp info memory -cdoctor extensionsСвободное место, объём каталога и права — три разных вопроса
Не «чините права», делая всё доступным для записи. Посмотрите владельца и режим, измените только минимально необходимую цель и снова проверьте. Права доступа — локальная граница, а не замена авторизации или шифрования.
disk .disk . -rstat .Читайте журналы до удаления, перезапуска и догадок
Полезная строка журнала содержит контекст: время, компонент, запрос или операцию и реальную ошибку. Сохраните этот контекст до очистки. Многие сложные инциденты становятся понятнее, когда можно точно сказать, когда начался сбой и что менялось рядом с этим моментом.
log -lОкружение и почта — отдельные подсистемы, которые стоит проверять явно
env server SERVER_ADDRenv TMPmailСохраните исходный снимок до исправления
Перед изменением настроек PHP, модулей, прав доступа или конфигурации хостинга перенаправьте короткие отчёты в каталог diagnostics/. После изменения соберите те же отчёты снова и сравните факты вместо ощущения «теперь вроде лучше».
Эта привычка работает далеко за пределами lil-terminal. В Linux, macOS, Windows, контейнерах и панелях управления хорошая диагностика устроена одинаково: определить окружение, выделить слой, собрать факты, изменить одну вещь и проверить результат.
md diagnosticsdoctor -j > diagnostics/doctor.json -rsys > diagnostics/system.txt -rphp version > diagnostics/php.txt -rСохраните это как сценарий
Сохраните это как hosting-baseline.lil. Сценарий собирает компактный снимок диагностики в diagnostics/, не меняя данные приложения. Сохраняйте снимки до и после изменения хостинга: сравнение почти всегда полезнее памяти.
#lil
@install md doctor sys php disk log env
md diagnostics
core > diagnostics/core.txt -r
doctor -q > diagnostics/doctor.txt -r
sys > diagnostics/system.txt -r
php version > diagnostics/php.txt -r
disk . > diagnostics/disk.txt -r
log -l > diagnostics/logs.txt -r
env server SERVER_ADDR > diagnostics/server.txt -r