O'Reilly

Set php.ini Values Using .htaccess

By on  

Did you know that you can set php.ini values right inside the .htaccess file? It's actually very easy.

The .htaccess Code

#format
php_value setting_name setting_value

#example
php_value  upload_max_filesize  10M

Of course you could simply place these in the .htaccess file, but .htaccess is a viable alternative if your host doesn't allow you to touch the php.ini file.

O'Reilly Velocity Conference
Save 20% with discount code AFF20

Recent Features

  • CSS 3D Folding Animation

    Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...

  • window.fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...

Incredible Demos

  • Save Web Form Content Using Control + S

    We've all used word processing applications like Microsoft Word and if there's one thing they've taught you it's that you need to save every few seconds in anticipation of the inevitable crash. WordPress has mimicked this functionality within their WYSIWYG editor and I use it...

  • Link Nudging with CSS3 Animations

    One of the more popular and simple effects I've featured on this blog over the past year has been linking nudging.  I've created this effect with three flavors of JavaScript:  MooTools, jQuery, and even the Dojo Toolkit.  Luckily CSS3 (almost) allows us to ditch...

Discussion

  1. I’ll be needing something like that soon enough, thx for the tip :)

  2. Yeah, but this is not worked if PHP working as FastCGI :)

  3. Another option is setting it in PHP – using the ini_set() function.

  4. huh @guard?

    So this could work for httpd.conf’s values too? Or this one cannot be overridden?

  5. I actually used this just the other day. I was trying to use the “Import” feature of WordPress to import a bunch of posts and crap from an “Export” of another WordPress blog (XML File). WordPress was telling me there was a piddly 2MB limit. But apparently, this isn’t a limitation of WordPress but rather set by PHP running on the server. I upped it, but apparently it maxed at 8MB on my server, which was 2MB too small for my 10MB file. Booooo.

  6. I’ll remember that one, thanks !

    .htaccess has a lot of capabilities, do you know if there’s a reference for it, or a listing of the possibilities somewhere ?

  7. @Ahmed: php_flag and _php_value can be written in httpd.conf in FastCGI, but not in .htaccess file. if PHP is running as module, you can do anything with .htaccess

  8. @Chris Coyier: The upload limit is the one I change the most.

    @Antoine Leclair: I haven’t found one great one — Google usually yields the best results.

  9. Another way to do it is to use PHP’s native ini_set() function

  10. fred

    Readers may be interested by reading this page on the PHP documentation : How to change configuration settings. That is said you can also use the ini_set php function, which is an alternative to the .htaccess method.

    @Antoine Leclair: There is always the official documentation. You can find it for the last version of Apache, and you have a .htaccess tutorial.

  11. Consider reading the following, to get better understading of .htaccess and how it works. It really depends on your httpd.conf what you can do with the .htaccess file.

    http://httpd.apache.org/docs/2.2/howto/htaccess.html
    http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

  12. Wow that’s exactly what I needed to simplify my life. Thank you!

    Of course you could simply place
    these in the .htaccess file, but
    .htaccess is a viable alternative if
    your host doesn’t allow you to touch
    the .htaccess file.

    Maybe you meant httpd.conf? Or php.ini?

  13. divyesh

    hi,
    i am using mootools ans jquery and ligthbox in my project. but i have not access jquery with lightbox.

    http://www.immobelgica.be/en/search/apartment/for-sale/belgium/east__flanders/aalst/38548/5/

    in above url i have user jquery for thumb image move on mouse hover and when click on image that time i user lightbox for vieew image. that is ok but i also use lightbox for email to friend and page is not open in middle and same window like image.

    please reply me on my mail..

    have a nice time

    Thank for help..

  14. I am not an experienced coder. I have access to the .htaccess file. What exactly do I need to put in the file to increase my Upload file size limit? I’d greatly appreciate any help. Thank you all!

  15. wladia viviani: you can move items into your apache’s httpd.conf file – but that means the changes are only picked up on Apache’s restart. However if things won’t change often then it’ll save IO and processing on each request

    erik neuwirth: php_value upload_max_filesize 10M as in the example right at the top :)

    I know “everybody” knows this but it’s good to have a dev environment that’s the same as your live environment but enable php errors to be seen. What we do is simply have a dev htaccess file that contains


    # Eror Handling:
    php_flag display_errors on
    php_flag display_startup_errors on

    Then we can see any fallout on dev before live just swallows the problems (we don’t want to burden the user with an unset variable being erroneously used!)

  16. Hi. Thank for help. useful.

  17. my server blocked my email sending options and i need to add this line extension=php_openssl.dll
    to php.ini

    so can i just go to .htaccess and add it??????????/

  18. […] obviously organized to me… I felt like I was being put through loops), and found a link to this post on David Walsh’s Blog. While this did not really address my question, I clicked the […]

  19. Jomo

    Thanks! This post still showing up at the top of the google search all these years later — and the advice is still good.

  20. […] : davidwalsh.name Tags: Setting php.ini dari .htaccess […]

  21. It helped me, as i was stuck with this value because of a long form for translations purposes in Prestashop. When added that line in htaccess it just displayed the form correctly.
    Thank you man

  22. […] Setting PHP.ini in .htaccess couldn’t be easier. I took this example from this article. […]

  23. I tried this on my site and the results look good. Thanks for the tips.

  24. mccbala

    Thanks for this!

  25. Umair

    I am getting this error. ini_restore() has been disabled for security reasons

    How to change it through .htaccess file? and Where to put the code in the .htaccess file?

  26. I have been in tech support for years and if there is one thing I have learned, dont mess with what you dont understand when it comes to server settings. Apache is like a very muscular little girl. Extremely powerful but needs her hand held. Slight errors will bring your site to its knees. Just know what you are doing, dont go playing about in there. Its not a line a code that messes up a part of your site. Its how your server refrences files. Like all files. It wont show up in an error log if you mess it up it will just straight bring your site down. Make sure you create a backup before any tamperings. Just saying.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!