我想在项目的任何页面运行时加载文件variables.php
(它只包含变量),这样我就可以在任何地方使用变量。
我创建了一个名为.user.ini
的文件(并将其放在根文件夹中):
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file = /Volumes/www/project_name/admin/libs/variables.php
它不起作用。 PHP似乎没有读取.user.ini文件。
默认情况下,php.ini是正确配置的:
user_ini.cache_ttl 300 300
user_ini.filename .user.ini .user.ini
我哪里错了?
答案 0 :(得分:5)
自PHP 5.3.0起,PHP包括对a上的配置INI文件的支持 每个目录的基础。 这些文件仅由CGI / FastCGI处理 SAPI 即可。此功能废弃了PECL htscanner扩展。
和
如果您使用的是Apache,请使用.htaccess文件获得相同的效果。
......虽然它实际上是指Apache 模块。
如果您需要独立于SAPI的自定义设置,我担心您必须使用两者。如果将这些设置保持在最低限度,则可以最大限度地减少维护负担(大多数PHP指令可以在PHP代码本身中提供)。而且,当.htaccess
不可用时,您需要确保mod_php
设置不会崩溃:
<IfModule mod_php5.c>
php_value auto_prepend_file /Volumes/www/project_name/admin/libs/variables.php
</IfModule>
答案 1 :(得分:0)
我认为.user.ini
应位于项目根文件夹中,例如/Volumes/www/project_name/.user.ini
除了主要的php.ini文件外,PHP还会扫描每个文件中的
INI
个文件 目录,从所请求的PHP文件的目录开始,和 一直到当前文档根目录(如设置中所示)$_SERVER['DOCUMENT_ROOT']
)。如果PHP文件在 文档根目录,只扫描其目录。