Finding problems.
WHERE TO LOOK FIRST
The application log.
WHAT IT CONTAINS
The exception, the message, and where it occurred.
WHAT ELSE TO CHECK
The server's own error log, for anything failing before the framework starts.
WHAT THAT INCLUDES
Syntax errors Missing dependencies Permission problems
WHAT TO USE IN DEVELOPMENT
Debug mode, showing detailed error pages A development toolbar reporting queries, timings and memory
WHAT THE QUERY REPORT REVEALS
Query multiplication, immediately.
WHAT TO USE FOR INSPECTING VALUES
The framework's dump helpers, which display and optionally halt.
WHAT TO NEVER LEAVE IN
Those helpers, in deployed code.
WHAT TO DO WHEN SOMETHING WORKS LOCALLY AND FAILS IN PRODUCTION
Check PHP version Check dependency versions Check environment values Check caches Check permissions Check case sensitivity of filenames
THAT LAST ONE
Common, and easily missed when developing on a system that ignores case.