Reputation: 1662
Is there a way to read a module's configuration ini file?
For example I installed php-eaccelerator (http://eaccelerator.net) and it put a eaccelerator.ini
file in /etc/php.d
. My PHP installation wont read this .ini
file because the --with-config-file-scan-dir
option wasn't used when compiling PHP. Is there a way to manually specify a path to the ini file somewhere so PHP can read the module's settings?
Upvotes: 5
Views: 2367
Reputation: 65649
If using Apache, and mod-php, you can configure/override some php settings locally with a .htaccess file. Your webserver has to "AlloweOverride" appropriately in the main config file to allow you to override these settings locally. In my experience, many hosting companies will let you set php settings via htaccess.
(thanks commenter for pointing out this only works with mod-php)
Upvotes: 0
Reputation: 22436
This is just a wild guess, but try to add all the directives from eaccelerator.ini to php.ini. First create a <?php phpinfo(); ?>
and check where it's located.
For example, try this:
[eAccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Another thing you could do is set all the settings on run-time using ini_set(). I am not sure if that works though or how effective that is. :) I am not familiar with eAccelerator to know for sure.
Upvotes: 4
Reputation: 35167
The standard way in this instance is to copy the relevant .ini lines to the bottom of the php.ini file. There is no 'include "file.ini"' functionality in the php.ini file itself.
You can't do it at run time either, since the extension has already been initialised by then.
Upvotes: 1