‘php_admin_value’ Bug When Overwriting PHP Settings

Mattias Geniar, Saturday, March 7, 2009 - last modified: Tuesday, March 10, 2009

If you want to overwrite certain settings for a particular directory, you can either use a .htaccess file or edit the apache config file. One of those changes, could be to alter the include_path for PHP for certain projects. Normally, you'd do this.

<Directory "/var/www/vhosts/xxx/httpdocs/">
        php_admin_value include_path "/var/www/<loc>/:/usr/share/pear/:/tmp/"
</Directory>

You might run into some unexpected results, where the include_path isn't actually changed, and the files you're trying to include aren't being included.

Try changing it to this.

<Directory "/var/www/vhosts/xxx/httpdocs/">
        php_value include_path "/var/www/<loc>/:/usr/share/pear/:/tmp/"
</Directory>

There's currently a known bug (#43677 [resolved]) that causes unexpected results when using the php_admin_value. A quick fix is changing this to php_value. Release 5.2.6 made a permanent fix for this, but not every commercial hoster or commercial controlpanel immediately updates to the latest release. If you see strange behaviour for PEAR packages that aren't being included, despite setting the include_path correctly -- this might be the reason.



Hi! My name is Mattias Geniar. 👋 I'm an independent software developer ⌨️ & Linux sysadmin 👨‍💻, a general web geek & public speaker. Currently working on DNS Spy & Oh Dear! Follow me on Twitter as @mattiasgeniar 🐦.

🔥 If you're stuck with a technical problem, I'm available for hire to help you fix it!

Share this post

Did you like this post? Help me share it on social media! Thanks. 🤗

Have feedback?

New comments have been disabled on this blog, existing comments will remain as-is. Want to give feedback? Is there a mistake in the post?

Send me a tweet on @mattiasgeniar!