Я думаю, что вы пытаетесь получить доступ к Auth :: user () без входа в систему. Он вернет null, если вы не вошли в систему и нет необходимости использовать блок try и catch.
Ошибка не требует пояснений.
Вызов функции-члена со значением null
blockquote>, если вы загляните внутрь, вызов функции-члена try-блока находится в условии if после Auth :: user (), которое может вернуть ноль по нескольким причинам, например, из-за того, что вы не вошли в систему.
if(null !== ($user->wasStripePlan()))
В соответствии с ошибкой переменная $ user равна нулю. Попробуйте выяснить, почему Auth :: user () возвращает ноль.
Вы можете strace рассматриваемая программа и видеть, какие системные вызовы это делает.
Если Вы можете определить этот "момент безразличности", затем Вы могли бы использовать strace для присоединения к рассматриваемому процессу в течение того времени и попытке выяснить, где это "спит":
strace -f -o LOG -p <pid>
Более легкий, но менее надежный метод:
Когда процесс зависает, используйте top/ps/gdp/strace/ltrace для обнаружения состояния процесса (например, ожидает ли это в "выборе" или использует 100% CPU в некотором вызове библиотеки),
При знании общего характера рассматриваемого вызова адаптируйте вызов strace для входа определенного syscalls или групп syscall. Например, для входа только связанного с доступом к файлу syscalls используйте:
strace -e file -f -o LOG ....
Если strace является слишком тяжелым инструментом для Вас, попытайтесь контролировать:
Использование памяти с "vmstat 1>/some/log" - возможно, обрабатывает, загружается (или) в течение того времени
Использование IO с vmstat/iotop - возможно, некоторый другой процесс перегружает диски
/proc/interrupts - возможно, драйвер для Вашей карты T1 испытывает проблемы?
Спасибо - strace звучит полезным. Ловля процесса в нужное время будет частью забавы. Я придумал план периодически записать метку времени в общую память, затем контролировать с другим процессом. Отправка SIGSTOP затем позволила бы мне, по крайней мере, исследовать стек приложений с gdb. Я не знаю, скажет ли strace на приостановленном процессе мне очень, но я мог бы, возможно, затем включить strace и видеть то, что он скажет. Или включите strace и поразите процесс SIGCONT.