Error Message:
Fatal error: Allowed memory size of XXXXXXX bytes exhausted at (null):0 (tried to allocate XXXX bytes) in /var/www/html/include/picmgmt.inc.php
Meaning: You have exceeded the memory allotment given to you in php.ini
Possible causes:
This error occurs when using GD and attempting to upload a high resoltuion image. It's not the size of the file that matters here; it's the number of pixels that determine memory use in GD.
Solutions:
Alternative 1 (ideal):Increase the memory limit allocation in php.ini. You must be the server's administrator to do this. Also, .htaccess files cannot change this configuration setting, and it cannot be changed using ini_set(). First, you locate the following block in php.ini:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
Now you increase the memory limit to fir your needs. 9 to 16 MB should handle most requirements. To calculate the amount of memory an image uses, you simply multiply the pixel width and height, and then you multiply the result by the number of base colors (RGB - 3, CMYK - 4). Finally, you divide by 1048576 to get the memory usage in MB.
Here are some common image resolutions and their memory use in GD (assuming RGB):
800 x 600 - 1.37 MB
1024 x 768 - 2.25 MB
1200 x 1600 - 5.49 MB
Remember when using the above figures that the amount of memory being used by the rest of Coppermine must be taken into account, too.
If you are unable to change php.ini settings yourself, you can always ask your server administrator to change this for you. However, many administrators will be reluctant to do so, as this setting will affect everyone on a shared server. A higher memory limit requires reducing the number of people who can be hosted on the same server in order to maintain server stability. This reduces profitability, etc.
If you cannot change php.ini, you should read alternatives 2 and 3.
Alternative 2 (sensible):
Resize your images before uploading if you do not require high resolution images. This saves upload bandwidth and time for you.
Alternative 3 (workaround):
You may download one of many free programs that resize images. Then resize the images to a smaller resolution (like 800 x 600) by the batch into a different folder while maintaining the same filenames.
Upload the resized images to Coppermine. Then use your FTP client to overwrite the images with the higher resolution images.
N.B. Users who are not members of the same group as the server may have difficulty using FTP to overwrite the files.