Web Development
An API request normally finishes in a second, then intermittently fails with cURL error 28. Increasing the timeout is tempting. But a slow DNS lookup ...
Comments are useful until they merely restate the next line of code. PHPDoc is more valuable when it records a function's contract: what callers must ...
After moving to PHP 8, your logs may start showing Undefined array key warnings. Often the code assumes that every request contains a field that is ac...
include(): Failed to open stream, often followed by Failed opening required, does not necessarily mean the file was deleted. PHP may simply be resolvi...
Composer finishes installing dependencies, but the application reports Class "App\\Service\\MailSender" not found. The package may be present; the aut...
Changing PHP in a hosting panel takes seconds. Finding the overlooked failure can take much longer: the home page loads, but login breaks, uploads fai...
If a PHP upload form works with small files but returns an empty $_FILES for larger ones, separate two limits before changing application code. upload...
Cleaning a string often means calling several functions in sequence. Changing part of a URL can mean rebuilding it by hand. PHP 8.5 adds tools for exp...
When PDO reports SQLSTATE[HY000] [2002], changing the database password is not the first test to run. The PHP process may be unable to reach MySQL ove...
You call header() to redirect a request, but the browser stays on the old page—or PHP refuses to set a cookie. A headers already sent warning usually ...