Задать вопрос
@Arris1

Что входит в отладку скрипта на PHP?

При отладке скрипта столкнулся с трудно отлавливаемой ошибкой недостатка прав linux при записи в файл. PHP данную ошибку не показывал, т.к. не использовалась функция проверки записи в директорию is_writable(). Скрипт просто завершал работу, без ошибок и нужного результата.
В связи с этим вопрос, какие еще аспекты отладки можете перечислить, кроме стандартного
логирования значения переменных и проверки прав?
Есть подозрение, что когда-нибудь также столкнусь с неучтенной ошибкой, которую PHP просто не будет выводить.
  • Вопрос задан
  • 267 просмотров
Подписаться 1 Средний 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
В отладку входит два основных механизма:
1. Включение полного отображения ошибок (или логирования, если на боевом сервере)
2. Пошаговая трассировка с контролем состояния переменных (с использованием IDE или вручную через var_dump/die).

В вашем случае, очевидно что не был выполнен пункт №1. Какой бы ни была причина проблем, РНР всегда выдаст ошибку. Так что в вашем случае надо было просто убедиться, что error_reporting=E_ALL, а display_errpos=1

А вот нижеследующее утверждение не имеет смысла
PHP данную ошибку не показывал, т.к. не использовалась функция проверки записи в директорию is_writable().

РНР не нужны никакие функции, чтобы сообщить об ошибке. А is_writable() обычно используется как раз наоборот, чтобы подавить ошибку и дальше работать как ни в чём не бывало. Ну или в лучшем случае выбросить какую-нибудь бессмысленную ошибку типа "Не могу записать в файл", не говорящую ничего о реальной причине проблемы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы