Moodle

SCORM import blank screen (caused by set_time_limit())

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.8
  • Fix Version/s: 1.8.1
  • Component/s: SCORM
  • Labels:
    None
  • Environment:
    PHP 5.2.0, MySql 5.0.27
  • Database:
    MySQL
  • Affected Branches:
    MOODLE_18_STABLE
  • Fixed Branches:
    MOODLE_18_STABLE

Description

I tried to import SCORM courses into Moodle. Lot of these courses could be imported, but several ones couldn't be imported. No error message, just a blank screen. After some debugging (I set $db->debug=true and I turned on the error reporting) I found that the error was occured because the 5 seconds timeout exceeded. In php.ini the timeout value was 30 seconds. I continued the debugging and found the timeout setting statement in the "moodle\mod\scorm\locallib.php" file in the scorm_delete_files($directory) function. The course was successfully imported after I removed the statement.

I think, this statement causes the error, because it overriddes the the default php.ini value. It restarts the max_execution_time counter, but only 5 seconds remain to finish any other operation after last set_time_limit() call. If the course is "big" this time value isn't sufficient.

Activity

Hide
Martin Dougiamas added a comment -

Fixed in CVS (changed the timeout to zero)

Show
Martin Dougiamas added a comment - Fixed in CVS (changed the timeout to zero)
Hide
aaron.danker@pixelphish.com added a comment -

What is the maximum file size that can be executed/unzipped and used within the system or where can I increase this timeout to allow for larger file-sizes?

Show
aaron.danker@pixelphish.com added a comment - What is the maximum file size that can be executed/unzipped and used within the system or where can I increase this timeout to allow for larger file-sizes?
Hide
Zoltán Szarvas added a comment -

The timeout value is currently set to zero that means no timeout is used (http://php.net/set_time_limit), so while uploading the time will never expire.

The maximum file size is the another issue, it can be configured in the php.ini. using the 'post_max_size' and 'upload_max_filesize' parameters. For further informations see this page: http://docs.moodle.org/en/Installing_Moodle#Check_PHP_settings

Show
Zoltán Szarvas added a comment - The timeout value is currently set to zero that means no timeout is used (http://php.net/set_time_limit), so while uploading the time will never expire. The maximum file size is the another issue, it can be configured in the php.ini. using the 'post_max_size' and 'upload_max_filesize' parameters. For further informations see this page: http://docs.moodle.org/en/Installing_Moodle#Check_PHP_settings

People

Vote (1)
Watch (2)

Dates

  • Created:
    Updated:
    Resolved: