Update Moodle to 1.7+ Fatal error: Allowed memory size of 20971520 bytes exhausted

Update Moodle to 1.7+ Fatal error: Allowed memory size of 20971520 bytes exhausted

by Marek Cieślar -
Number of replies: 8
During updating Moodle to 1.7+ - error appeared: Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 46080 bytes) in /home/zseg/ftp/blocks/blog_tags/block_blog_tags.php on line 128

After instalation I have not an administration panel - when I try .../admin/index.php - the same error

What should I do with this problem?
Average of ratings: -
In reply to Marek Cieślar

the same problem, and some information

by Szántó Ádám -
I have the same problem except that I'm trying to install Moodle 1.7 for the first time. Here is the detailed description about the error.

Here is my phpinfo at home server (where worked) and at remote server (where didn't), in the first one memory_limit doesn't appear, but in php.ini it is set to 16M, and working with it.

So the problem is some other thing, but now I don't know what to ask of my hosting provider to get Moodle working. What may happened?
In reply to Szántó Ádám

Re: the same problem, and some information

by Ken Wilson -

Hi Marek & Ádám

From Petr's suggestions, Moodle needs more than 16M for script execution. From looing at the different phpinfo outputs, this could just be an issue with the number of modules that the host is loading - difficult to say really. A few things to try:

1. Before contacting your host, try to get an increase in memory limit by using the .htaccess file. Try setting this line in your moodle/.htaccess on the remote server


2. Also, the host has allow.url_fopen set to off. This may cause problems later on thoughtful (search the forums for this problem).

3. Finally, try also adding

 

to the .htaccess (as recommended here).

Hope this was helpful!

Ken

Average of ratings: Useful (1)
In reply to Ken Wilson

Re: the same problem, and some information

by Szántó Ádám -
Hi Ken,

I tried to modify .htaccess but it was prohibited. Now the guys at the hosting did it for me, but I'm still unable to install Moodle, now because of an other problem.

When it creates the tables in my database and shows a lot of CREATE queries, it stops displaying all the things and on a page, disappears the Continue button below. Then when I reload the page, I get an almost empty part (Setting up module tables - scorm) without Continue button or anything and when I reload it again, I get this dummy text: "Upgrade already running in this session, please wait! Click on the exclamation marks to ignore this warning (!!!)."

How to try to install it without deleting all the files and tables and upload it again?
I tried to delete the tables, delete the config.php file, the moodledata directory and restart my browser a lot of times. Thanks for your help in advance.
In reply to Szántó Ádám

Re: the same problem, and some information

by Ken Wilson -

Hi Ádám

A few points:

1. Can you please try to drop the database completely by running this command in your mysql program (phpmyadmin, etc):


Then re-create the database by following the instructions at http://docs.moodle.org/en/Installing_Moodle#Creating_a_database.

2. Looking at the phpinfo on your host, there are two settings which are different from your local phpinfo and may cause Moodle to fail:
(a) The host also has a very low mysql.connect_timeout setting. The default is usually 60secs, but they have set it to 10secs. This could be the cause database problems, as it takes more than 10secs on my server to create all the tables.
(b) The host has safe mode enabled. Moodle will just not work with this setting, and one advice given is to change hosts sad (see the Moodle requirements page).

Sorry!

Ken

In reply to Ken Wilson

almost succeed to install...

by Szántó Ádám -
Yes, I tried to reinstall the database earlier but it didn't help. But now you gave me the idea to export the tables (structure and data) from my localhost, where I managed to install correctly and import them to my remote server.

Now it seems working, but when I log in as admin, doesn't happen anything, it just says me hello but doesn't appear the Administration panel on the left like at localhost. So I'm not able to add a course, or modify the settings, or anything.

I know that now it's some other kind of problem like before, but I would be very grateful if you helped me to finish the installation and tell me what to modify or reinstall.
In reply to Szántó Ádám

Re: almost succeed to install...

by Ken Wilson -

Hi Ádám

Well done for getting the install working! The disappearing administration block was a problem with a eariler release of 1.7, which should now be fixed (see Yu's post here). One suggestion in that thread is just to try http://my.moodle.com/admin to see if this fixes the problem.

See also mdl-7640 for clarification about the administration panel in moodle 1.7.

Ken

In reply to Ken Wilson

Re: the same problem, and some information

by A K -
Is there interest in getting a permanent fix for this problem instead of an 'increase the memory limit' circumvention?

Increasing the memory limit may avoid hitting the problem in a particular case by allowing more in-memory php processing. However it does not appear to resolve the underlying problem, which will always occur whenever the course is sufficiently 'large'.

A course can easily become 'too large' by virtue of containing substantial quiz attempts. I wonder whether Moodle currently tries to load all data from a backup file into memory in one go and then process it, rather than processing it incrementally. If it does, that would explain memory limit problems, which would always keep arising until the processing is changed: regardless of what any memory limit might be set to there will always be backup files that are 'too big'.