If you attempt to load admin/build/modules and get a blank page, a message that says "The requested page could not be found" or a server error, this is most likely a memory issue.

When viewing this page, modules are (since Drupal 5.x) only loaded if they are enabled (previously, even disabled modules were loaded). Even so, a fair amount of ancillary processing takes place on this page and can cause PHP to run out of available memory. Note that all modules' .info files are loaded whether or not the modules are enabled.

There are two fixes:

  1. Increase PHP's memory limit, e.g. to set it to 16MB try one of these:
    • memory_limit = 16M to your system's main php.ini file (recommended, if you have access. In case you don't, you can try to upload your own php.ini file in the root folder of your Drupal installation, but bear in mind that this will only have an effect if PHP is running as CGI)
    • ini_set('memory_limit', '16M'); in your sites/default/settings.php file (this doesn't work on all servers)
    • php_value memory_limit 16M in your .htaccess file in the Drupal root (this only works if PHP is running as an Apache module)

    Depending on the amount of modules you have enabled and their 'impact' on the site you may need to increase the memory_limit even more, but don't exceed you server memory limit as it could cause your site more problems. Experiment with what memory value works for your needs. Some people find they need to set the memory to 24M or 32MB or higher (e.g. 96MB is recommended for a site with built-in image processing using ImageAPI GD).

  2. You can reduce the memory required by your site by disabling modules by directly editing the {system} table in the database and setting the status column to 0. It's best just to disable contributed modules, and preferably those that are not dependents of others. Take a database backup first, in case you mess things up.

Prior to Drupal 5.x a quick fix was to remove disabled modules' folders from your server; however, this now has negligible impact since it only prevents their .info files from being loaded.

  • Note: If you had a module enabled at one time, before removing it you may wish to first click the "Uninstall" tab on the admin/build/modules page, as this will allow you to remove disabled modules' database tables. Once you delete the files from the server, you won't be able to use the Uninstall tab to remove that module's information from the database.

Note that some hosts allow a php.ini file in the root of your site.

All fatal errors can result in a blank modules page. If you want to be sure if the memory limit is causing this problem, you should check your web server error logs. Hunt for a line that looks like:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 418591 bytes) in /path/to/drupal/includes/database.mysql.inc on line 29

That indicates that Drupal needed more memory than PHP was allowed to give it.

Always keep in mind that generally, "Less is More." The less memory your installation consumes, the faster it is, and the more people can visit your site at one time.

You may have to restart Apache for the configuration changes to take effect, especially if you edit php.ini.

If you get an "internal server error" message when you try to access the admin modules page, read the white screen of death WSOD page because it may be able to solve your problem.

Comments

dewolfe001’s picture

I was vexed by this too in Drupal 5.
I looked at the error log-- a Memory limit burst shows off as a Segmentation Fault. Nada.
I look at my watchdog log. It was trapping the pages I hit as pages not found.
I manually enabled as many modules as I thought I needed.
Still had the WSOD

The solution I just used to see why my site was pining for the fjords: I put the install.php back into production (I commonly delete it after installation). It reported what I was missing, so I enabled those modules and files and voila! It worked.

- Mike

Anonymous’s picture

I had a nasty situation where I was getting WSODs on all admin pages, and my apache error logs were saying out of memory (32MB), even though I had already increased the memory to 64MB in my php.ini, and this was displaying correctly on phpinfo() page.

Turns out my drupal tweaks module was re-setting my PHP memory_limit to the old value for drupal, BUT I couldnt access the modules page to disable it! Solution was to simple rename the module in sites/all/modules, then everything worked fine, and I could disable the module properly.

dragan_r’s picture

I have solved problem with
php_value memory_limit 32M in my .htaccess file in the Drupal root

My website don't work with 16M memory limit. For my web site this is not enough.

LudachrisGSX’s picture

For those who have the problem with admin items not available, and you are not using the Admin Menu module, here's what I did to fix my problem... I changed the php memory limit in both the settings.php file and htaccess file to 128MB. Strangely enough, in Drupal it's showing the limit as 128MB, but phpinfo.php still shows 32MB. I also went into phpmyadmin and emptied the "cache_form" table. It was the only cache table with data stored, and I'm guessing it was holding data for one of the form modules I'm using.

Doing those two things helped restore all of my admin items and pages that were returning Page Not Found on the admin side. Hope this info helps someone else that is going through this headache.

baff’s picture

I have to increase up to 256M in .htaccess - I don't know what there is so special about my site. Is there a way to find out why I need so much memory?

Invincible123’s picture

I have increased the memory to 256M in both PHP.ini and settings.php but am still getting the error:IE cannot display the webpage.
Please help as I am doing some urgent work and this needs to be fixed soon.

Invincible123’s picture

Suddenly,now I find my problem solved without any increase in memory...I dunno wht different happened this time..I just deleted few modules and my modules page got loaded

APCC’s picture

There are no memory limits for me to change in any of those places and when I just add the code nothing happens. I've deleted a bunch of modes using my FTP client, but nothing is helping. Any thoughts?

Christopher James Francis Rodgers’s picture

See Documentation page...
http://drupal.org/node/76156

Where you will also find a detailed step-by-step solution to the memory error problem
for both Drupal 6 and Drupal 7 to easily increase the memory allocation to 128M, at...

Drupal 7 Fatal error Allowed memory size of ...
http://drupal.org/node/76156#comment-4582924

..or..

Drupal 7 memory increase to more than 128M,
that may or may not work for Drupal 6, see...
http://drupal.org/node/76156#comment-4583384


All the best; intended.
-Chris (great-grandpa.com)
___
"The number one stated objective for Drupal is improving usability." ~Dries Buytaert *

headstartcms’s picture

How can i change my shared hosting php.ini to increase my memory ?

I find this article.
Do you allow access to edit php.ini file?

Ans. We don’t allow php.ini access from shared hosting/reseller hosting servers. You can enable or disable various php.ini functions from .htaccess of your account, you can also enable/disable safe mode, register globals, sessions and many other functions from .htaccess.

We have a couple of shared web hosting uk servers running PHPSuExec reserved for clients who need access to edit php.ini file. Clients whose accounts are setup on one of these servers can create a file named “php.ini” and put whatever configuration settings you need to change in it, in the usual php.ini form.

If you need php.ini access for some other reason then you can also consider our VPS Hosting plans or Semi Dedicated Servers as you will get full root access on your VPS/Semi Dedicated Server along with a dedicated hosting environment to work with.

www.headstartcms.com

jamescook22’s picture

interesting reviews of Modules page is blank, says "page not found" or returns an error message
considerable increase knowledge for obat gatal pada kemaluan wanita