PHP解析配置ini文件

时间:2020-03-06 14:30:20  来源:igfitidea点击:

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

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

解决方案

在这种情况下,标准方法是将相关的.ini行复制到php.ini文件的底部。 php.ini文件本身没有" include" file.ini""功能。

我们也无法在运行时执行此操作,因为扩展名当时已被初始化。

这只是一个疯狂的猜测,但是请尝试将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,因此无法确定。

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

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