PHP解析配置ini文件

时间:2008-09-21 12:23:41

标签: php apache

有没有办法读取模块的配置ini文件?

例如,我安装了php-eaccelerator(http://eaccelerator.net)并将eaccelerator.ini文件放在/etc/php.d中。我的PHP安装不会读取此.ini文件,因为编译PHP时未使用--with-config-file-scan-dir选项。有没有办法在某处手动指定ini文件的路径,以便PHP可以读取模块的设置?

3 个答案:

答案 0 :(得分:3)

这只是一个疯狂的猜测,但是尝试将eaccelerator.ini中的所有指令添加到php.ini中。首先创建一个<?php phpinfo(); ?>并检查它的位置。

例如,试试这个:

[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"

您可以做的另一件事是使用ini_set()在运行时设置所有设置。我不确定这是否有效或有效。 :)我不熟悉eAccelerator来确定。

答案 1 :(得分:1)

此实例中的标准方法是将相关的.ini行复制到php.ini文件的底部。 php.ini文件本身没有'include“file.ini”'功能。

您也无法在运行时执行此操作,因为此时扩展已经初始化。

答案 2 :(得分:0)

如果使用Apache和mod-php,您可以使用.htaccess file在本地配置/覆盖某些php设置。您的网络服务器必须在主配置文件中适当地“AlloweOverride”,以允许您在本地覆盖这些设置。根据我的经验,许多托管公司将允许您通过htaccess设置php设置。

(感谢评论者指出这只适用于mod-php)