How to edit php.ini file to increase memory limit

Published on April 27, 2007   By Ram  33 Comments  

Today my blog was down for some time due to a memory issue in php.ini file in my server. I have never seen this error before and i don’t know what went wrong. I quickly searched on Google and found that this error is caused by insufficient memory allocation in php.ini file. A standard server (linux box) setup comes with 8M memory and we need to increase this to avoid these types of errors.

Error:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8192 bytes) in /home/teknobit/public_html/wp-includes/theme.php on line 59

I managed to increase the memory in php.ini to overcome this, i will write here how i did it hoping that it may be useful for somebody.

For those of you who use shared hosting the quick solution would be to add a line in .htaccess file located at your root folder.
php_value memory_limit 24M
here 24M is an example and most of the times this is enough to get your site back, contact your host support if this doesnt work.

First step for this is to locate your php.ini file in the server and to see what is the memory limit (this is shown in the error message). Create a file with the below code and name it something like “test.php”

<?php phpinfo(); ?>

Upload this file to your site root and point your browser to this file, now it will show the phpinfo of the server, in this you will find “Configuration File (php.ini) Path: /usr/local/lib/php.ini”, this is your php.ini location. You can find the memory limit also in this page “memory_limit: 8M”

If you know shell then you can use putty, SSH client, login to putty and locate the file php.ini and edit the memory limit, below commands may be useful; found here

Log in as root.
Type the following and hit enter: vi /usr/local/lib/php.ini
Now that you’re in vi, hit escape a few times then type the following
and hit enter: /memory_limit
That basically does a “find” in the file you’re editing.
Press the “i” key. This puts you in “insert” mode, which basically
allows you to edit things.
Change the current setting (probably 8M) to 16M.
Press escape, then type :wq and hit enter. That says “save the file
and quit.”

I dont know shell commands so the easiest way for me to do this is using penguiNet, (Update: Use WinSCP, this is free tool) its a windows SSH client, you can use shell commands or use the ftp like interface to navigate to the php.ini file. Login to server with root account and download the file, edit it and upload it again. Remember to backup the original file, if you make a mess you can use the original file.

In php.ini search for this line “memory_limit = 8M”, replace the 8M with your desired value like 16M, 24M etc. Save the file and upload it to the server. Now you need to restart Apache for the changes to effect, this can be done through WHM, if you dont have WHM installed use these command
/etc/rc.d/init.d/httpd restart

Refresh the browser, your site should work normally.

By using the same procedure you can also increase the file upload limit size, in this case search for the line “upload_max_filesize = 2M” in php.ini and change the value to your desired value. The dafault upload limit in php is 2MB.

Related Posts

Subscribe to RSS or via Email to get daily updates.

33 Responses to “How to edit php.ini file to increase memory limit”


  1. This totally solved my problem uploading large files from to my wordpress blog… thanks for the great info, super helpful.

  2. @kanyan
    glad that it helped you. Thanx for commenting

  3. hi that is great:

    but i am having problem, i have shared account so i dont have full root accesess abut i do have ssh accesess, but anyway i followed ur producers i can get accesess to the php.ini file, and i did some chnages in post_max_size and post_time too but when i hit escape and than wq I didnt work, cuz it did save and quite it. so if u please can help me.

  4. If you are in a shared account i guess you can not edit php.ini file because the changes will be effected to all the accounts on the shared server. If this is the case you should contact your host.
    Try to add the values to .htaccess file and see if that helps

  5. Thanks for this tutorial!
    This was a great help and like you i’m not too familiar with SSH commands, i managed to update my PHP ini file and now my upload limit has been increased.
    Many thanks..!

  6. @lasdesign
    glad that it worked for you

  7. Can u please tell me how do i locate the php.ini file in the server ?

    I have a shared hosting on HostGator and they are using cpanel ! I aksed them to help me but they said they dont support 3rdpart scripts :(

  8. how to serch php.ini file in linux os

  9. The following command searches the file too:

    php -i | grep php.ini

  10. @Latina
    Thanks for the headsup

  11. I’m trying to access php.ini for improving my proxies but not being able to access it coz im using shared hosting! :(

  12. i’ve tried to send mail from my website but it is giving me this error

    Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\Program Files\xampp\htdocs\mailto.php

    m really stuck here and would really appreciate your guidance

    thank you in advance

  13. This article is great I love to read it and very helpful for my project
    thanks

  14. hi
    i got error in image uploading

  15. @Ashok
    What kind of error ?, is the error after editing the file or before.

  16. Hi I tried to change the setting using filezilla but no use.

    Is there any way to change the settings using ini_set

  17. Thanks – worked like a charm!

  18. Try to add the values to .htaccess file and see if that helps

    what values do we have to add to increase that 8M limit ?

  19. @Recorded
    add this line to .htaccess

    php_value memory_limit 16M

    change last ‘16M’ to whatever value you want. Some time this may not work depending on httpd.conf settings, in that case talk to your webhost.

  20. I’ve tried to add php_value memory_limit 24M to my .htaccess on my root, however that completely crashes my site and I get a 500 error… any other suggestions besides contacting the host?

    Thanks!

  21. I have a VPS so I have ssh access of course. My php.ini file says it’s read only and won’t save the changes….this doesn’t seem right.

    Any suggestions?

    PS – the ESC step doesn’t work for me…maybe it’s not necessary.

  22. @mdowsett
    try changing the permissions, you can use chown command for that, once you are done change it back.
    or use winscp to login and then edit the file in your computer

  23. Thanks for the tutorial.
    Very helpful!

  24. im trying to get this to work, so i can use more plugins from wordpress. Im actually using my friends account ( he works for a hosting site )

    He told me, Im not allowed to edit my php.ini file and he said, they wont change my php.ini file either (unless i get a better plan)

    So my question is, how do i increase memory with out messing with the php.ini file. Or am i screwed?

  25. you may be able to add this line to you .htaccess file:

    php_value memory_limit 24M

    You’re probably only at 8M or 16M now.

    If that doesn’t work, you’re SOL

  26. You saved my day

  27. Thanks for the walk-through. I didn’t know how to edit files on the server (and couldn’t otherwise overwrite php.ini). Thanks!

Trackbacks/Pingbacks

  1. How to upgrade PHP version from WHM at Technology Bites
  2. May 5th, 2007 2:50 pm | #
  3. memory_limit i nasýl yükseltebilirim ? - Webmaster Forum
  4. May 8th, 2007 12:27 pm | #
  5. Import Large MySQL dumps with bigdump | Technology Bites
  6. September 17th, 2007 6:30 am | #
  7. MoneyGirls Blogging On The Internet » Blog Archive » Upgrading A Topsite to A New Server - You probably tried to upload too large file
  8. May 6th, 2008 7:30 pm | #
  9. Oh. Oops! - Starryskye.org
  10. October 3rd, 2008 3:48 pm | #
  11. PHP Memory, Zenphoto and Bluehost limits | Tongfamily Website
  12. February 3rd, 2009 5:22 am | #

Leave a Reply