Debugging "The installer detected a timeout"
Description: How to debug timeouts during installation, updates, or conversions.
In Categories: Installing/Upgrading/Converting
- Link to this article: Select All
[url=https://www.phpbb.com/support/docs/en/3.3/kb/article/debugging-quotthe-installer-detected-a-timeoutquot/]Knowledge Base - Debugging "The installer detected a timeout"[/url]
When performing an update or install, you may run into the following error message:
1. A timeout has occurred
As the error message indicates, the process might be taking longer than PHP is willing to wait, so it times out. Most web hosts set the PHP timeout to 30 seconds. If this error occurs after 30s have passed, it may have timed out.
In this case, you can try to refresh the page and start the process again and it will pick up where it left off. If the error persists, you can try to increase the timeout or perform the update using the CLI, if available.
2. An error occurred
If this error appears instantly, it means that an error has occurred, but that error was not correctly propagated to the installer.
This is a pretty common fallback error message if something has gone wrong. There are a few reasons that this error message may be shown:The installer detected a timeout
The installer has detected a timeout, you may try to refresh the page, which may lead to data corruption. We suggest that you either increase your timeout settings or try to use the CLI.
1. A timeout has occurred
As the error message indicates, the process might be taking longer than PHP is willing to wait, so it times out. Most web hosts set the PHP timeout to 30 seconds. If this error occurs after 30s have passed, it may have timed out.
In this case, you can try to refresh the page and start the process again and it will pick up where it left off. If the error persists, you can try to increase the timeout or perform the update using the CLI, if available.
- Increase the PHP timeout length: The
max_execution_time
directive (docs) in PHP controls how long a PHP script can run before the system terminates it. Change the value to a larger one and run the updater again. Some web hosts offer a way to change this through their control panel if you do not have access to the .ini files yourself. If you don't know how to change it, you will need to ask your host. - Use the Command Line Interface (CLI): If you have the ability to run commands on your server, through SSH or a web shell, you can run the updater that way. CLI commands are often not constrained the same way that web executed scripts are.
To perform the update, change to your forum's root directory (the one with config.php in it) and run the following command:You will need to have already updated the files to the latest version prior to running that command.Code: Select all
php ./bin/phpbbcli.php db:migrate --safe-mode
2. An error occurred
If this error appears instantly, it means that an error has occurred, but that error was not correctly propagated to the installer.
- Check the PHP error log: Often times, this is caused by PHP errors. As such, they will show up in the server's PHP error log. If you don't know where your server's error logs are, you will need to ask your host.
- Check your browser dev tools: The error message will also be shown in your browser's "Developer Tools". For most browsers, the shortcut key to open the Developer Tools is F12. There should also be an option in the browser's main menu as well. With the Developer Tools open, click on the "Network" tab. Restart the update process. Once the timeout error shows up, scroll down through the list of entries on the Network tab. At the bottom should be one for the "update" page. Click on that entry. Usually, on the right side of the screen there will be a sub-tab to show the "Response". Clicking on that should show the error message, you may have to scroll down to see it.