? Success

User tests: Successful: Unsuccessful:

avatar zero-24
zero-24
30 Nov 2014

Disable the max_execution_time for the installation see: #5193

kudos goes to @sovainfo

Orginal Issue

Steps to reproduce the issue

Download and extract xampp 5.6.3 (they change the versioning to reflect the PHP Version)
Download and extract joomla 2.5.x / 3.x (staging) (github branche or stable)
try to install

Expected result

Installation works

Actual result

Installation hangs by creating the database

System information (as much as possible)

Default xampp Konfiguration with:

Apache 2.4.10, MySQL 5.6.21, PHP 5.6.3, phpMyAdmin 4.2.11, OpenSSL 1.0.1, XAMPP Control Panel 3.2.1, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 7.0.56 (with mod_proxy_ajp as connector), Strawberry Perl 7.0.56 Portable

Additional comments

I think the Joomla Core should work with the default xampp config as it is often used for "testing" and planing joomla if can't be done on the production site not only by experts mostly by end users to pre-test Joomla.

avatar zero-24 zero-24 - open - 30 Nov 2014
avatar jissues-bot jissues-bot - change - 30 Nov 2014
Labels Added: ?
avatar zero-24
zero-24 - comment - 30 Nov 2014

How to test

  • install current version of xampp
  • Download and extract joomla 2.5.x / 3.x (staging) (github branche or stable)
  • try to install
  • on "low level Hardware" the installation hangs on the database creation
  • download this: https://github.com/zero-24/joomla-cms/archive/patch-6.zip
  • try to install
  • on all kind of HW the installation should work.
avatar infograf768
infograf768 - comment - 30 Nov 2014

Travis needs love.

avatar zero-24 zero-24 - change - 30 Nov 2014
The description was changed
avatar zero-24
zero-24 - comment - 30 Nov 2014

@infograf768 Travis is happy now. Thanks

avatar Bakual
Bakual - comment - 30 Nov 2014

Does this even work on all hosts? I think some restrict this setting.

avatar zero-24
zero-24 - comment - 30 Nov 2014

@Bakual on xampp it works. Can we test if this is restricted? IIRC we prevert any issue message with the @ or i miss something?

avatar Bakual
Bakual - comment - 30 Nov 2014

I don't like having code with supressed error messages only to cater for specific server misconfigurations or very slow hosts. To my knowledge it's only an issue for XAMPP on slow hosts like laptops.
The real fix is to raise max_execution_time for those xampp instances.

On the other hand it will not stop script execution if there is an error (like a loop) and it would run forerver.

But if people think this is important, I'm not going to argue much because it only affects installs.

avatar zero-24
zero-24 - comment - 30 Nov 2014

To my knowledge it's only an issue for XAMPP on slow hosts like laptops.
The real fix is to raise max_execution_time for those xampp instances.

hmm as @roland-d started we can try to contact the XAMPP Maintainers to raise the default max_execution_time
#5193 (comment)

avatar sovainfo
sovainfo - comment - 30 Nov 2014

It is used in other parts of Joomla, as you can see in earlier replies. Some use the max_execution_time, the indexer uses (0) as no time limit. Also it doesn't suppress error messages. It only stops PHP from putting a time limit on it, which is the default for CGI. This should be considered no different.

avatar Bakual
Bakual - comment - 30 Nov 2014

Can yomeone at least check where exactly it hangs? Is it when it creates the db or when it creates the tables?
If we have to use set_time_limit(0) then please let us have it at the right spot, and not in a generic location.
Like put it here: https://github.com/joomla/joomla-cms/blob/staging/installation/model/database.php#L901 which looks like it's the place where the tables are created from the SQL file. I would suspect this is the time consuming task and resetting the timer with set_time_limit() would help here. I wouldn't set it to 0 however. I would give each query the 30 seconds to run and if that isn't sufficient then the server really needs a hand.

avatar sovainfo
sovainfo - comment - 30 Nov 2014

You can see on the picture provided by @zero-24 it stops in the middle of creating the tables. It doesn't really matter when the call to set_time_limit(0) occurs as long as you are on time. It needs to be called before interrupted. It cancels the timeout.

Earlier tries have been done to reset te limit per query. It didn't work.

avatar Bakual
Bakual - comment - 1 Dec 2014

The point is, I don't like it being set_time_limit(0). It's bad practice to have a script run without any timeout.
If we can have it reset the max_execution_time right before the step it fails, I would be much in favor of that.

But I still would argue it's a bad server setup and I really doubt we need to fix that on our side.

avatar roland-d
roland-d - comment - 1 Dec 2014

I agree with @Bakual here. Could it be an option to document how users can update their php.ini on xampp instead?

avatar zero-24
zero-24 - comment - 1 Dec 2014

@Bakual @sovainfo

Like put it here: https://github.com/joomla/joomla-cms/blob/staging/installation/model/database.php#L901 which looks like it's the place where the tables are created from the SQL file. I would suspect this is the time consuming task and resetting the timer with set_time_limit() would help here.

hmm it breaks (any how) the installation. but if i move the @set_time_limit(); into this line https://github.com/joomla/joomla-cms/blob/staging/installation/model/database.php#L890 it run and run and finaly it works for me. I will change the line in the patch now. Thanks.

avatar zero-24 zero-24 - change - 1 Dec 2014
Category Installation
avatar zero-24 zero-24 - change - 1 Dec 2014
Easy No Yes
avatar zero-24
zero-24 - comment - 1 Dec 2014

How to test

avatar zero-24
zero-24 - comment - 1 Dec 2014

sorry i just realise that i have the max_execution_time to 120 by testing :( If i reduce it back to 30 we still need set it to @set_time_limit(0);

avatar zero-24 zero-24 - change - 5 Dec 2014
Status Pending Needs Review
avatar zero-24
zero-24 - comment - 5 Dec 2014

Movint to Needs Review so a maintainer can decide what we should do.

  • Dokument it as @roland-d proposed
  • or use @set_time_limit(0); for the installation
  • contact xampp folks to increase the max_execution_time to somthing like 120.
  • or have a other / better solution for this issue.

Thanks :smile:

This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/5256.

avatar zero-24 zero-24 - change - 5 Dec 2014
Easy Yes No
avatar zero-24 zero-24 - close - 31 Dec 2014
avatar zero-24 zero-24 - change - 31 Dec 2014
Status Needs Review Closed
Closed_Date 0000-00-00 00:00:00 2014-12-31 14:05:36

Add a Comment

Login with GitHub to post a comment