我有一个PHP文件,我想在每个请求的开头执行。我在htaccess文件中指定了它:
php_value auto_prepend_file "alwaysrunthis.php"
问题是,此指令的值是在目标脚本的上下文中执行的,而不是在.htaccess文件位置的上下文中执行的。因此,如果我正在执行的脚本与前置文件在同一个目录中,那么它就可以工作,否则就不是。
我意识到我可以使用绝对路径,但这并不是很容易移植。在.htaccess中有没有我可以访问的变量来在执行时生成绝对路径?
发布于 2011-06-15 18:53:33
简而言之,不是。
Long回答说,你可能可以让它像你想要的那样工作。
您可以创建自动预置文件,以使用$_SERVER['DOCUMENT_ROOT']
变量通过开关/if-else构造来确定要包括的文件。
或者,您可以将__FILE__
变量与realpath
结合使用,以包含/要求您想要的“前置”文件。
auto-prepend.php
require_once(realpath(__FILE__) . '/prepend.php');
//编辑:
再想一想,__FILE__
可能会引用预端文件,而不是请求的文件,所以它可能不会像预期的那样工作。
https://stackoverflow.com/questions/6362691
复制