Dolibarr ERP & CRM » Bugs » bug #1584 Database creation timeoutDernières modifications
Répondre
État Détails |
Submitted by: | Raphaël Doursenaud (rdoursenaud) | | Submitted on: | 28/08/2014 15:00 |
Last Modified On: | 27/10/2014 02:01 | |
Summary: | Database creation timeout |
Description: | Since Dolibarr 3.6 there is a very big table llx_accountingaccount that is created at install/upgrade time.
This makes the PHP process sometimes timeout on etape1.php making the installer unusable. |
Step to reproduce bug: | Make a new Dolibarr install with a fairly slow (or busy) MySQL server. |
Detected in version: | 3.6.0 | | Category: | Core Problem |
Severity: | 9 - Blocking - Critical | | OS Type/Version: | |
PHP version: | | | Database type and version: | |
Etat |
Status: | Need more info | | Assigned to: | Aucun |
Resolution: | Aucun | |
Commentaires- Raphaël Doursenaud 18/11/2014 11:50
- Yeah, the script stays on step1 and timeouts because it's not able to load step2. The timeout definitely being in step2.
set_time_limit is disabled or heavily restricted almost everywhere. If we are to rely on it, it's availability should be checked at check.php.
Also it does not work with modern FCGI handlers like php-fpm that have their own timeout limit.
Maybe it's time to put some AJAX code to handle the requests to ensure we don't exhaust the time limit. - Laurent Destailleur 27/10/2014 02:01
- Are you speaking on step1 or step2 (loading of files is done into page etape2).
Currently this is code to manage this:
// Cette page peut etre longue. On augmente le delai autorise.
// Ne fonctionne que si on est pas en safe_mode.
$err=error_reporting();
error_reporting(0); // Disable all errors
//error_reporting(E_ALL);
@set_time_limit(900); // Need 900 on some OS like Windows 7/64
error_reporting($err);
But it works only if set_time_limit is allowed by php setup.
|
|
set_time_limit is disabled or heavily restricted almost everywhere. If we are to rely on it, it's availability should be checked at check.php.
Also it does not work with modern FCGI handlers like php-fpm that have their own timeout limit.
Maybe it's time to put some AJAX code to handle the requests to ensure we don't exhaust the time limit.