No Code Attached Yet
avatar Bastian007
Bastian007
21 Jul 2026

Summary

When a page renders a module, plugin, or layout component that attempts to fetch an external URL or feed (e.g., via file_get_contents or unconfigured cURL) which no longer exists or is unresponsive, PHP hangs indefinitely until it hits the server's hard execution timeout (max_execution_time).

Because the framework or standard handlers do not enforce a strict default timeout or fail-safe for external HTTP requests, a single dead external URL can take down an entire page layout, resulting in a 5xx server timeout.

Steps to Reproduce

  1. Create or configure a Joomla page/article (e.g., using YOOtheme Pro or a module position) containing a component or module designed to fetch an external RSS feed, JSON API, or remote URL.
  2. Assign a dead or non-existent external URL to that module/component.
  3. Access the specific menu item/page on the front-end.

Expected Result

The page should load quickly. If an external feed fails or times out, the module should fail gracefully (or hit a short, hard-coded fallback timeout like 3-5 seconds) without blocking the entire page's PHP execution thread.

Actual Result

PHP halts and waits indefinitely for the remote server response. On production environments running behind web servers like LiteSpeed or Apache, this leads to a hard request timeout (e.g., HTTP 5xx / gateway timeout), making the page completely inaccessible. Debugging reveals no SQL bottlenecks, shifting the entire delay to external request handling.

System Information

  • Joomla Version: 5.x
  • PHP Version: 8.x
  • Web Server: Apache / LiteSpeed
avatar Bastian007 Bastian007 - open - 21 Jul 2026
avatar Bastian007 Bastian007 - change - 21 Jul 2026
Labels Removed: ?
avatar joomla-cms-bot joomla-cms-bot - change - 21 Jul 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 21 Jul 2026

Add a Comment

Login with GitHub to post a comment