在每个php脚本之前执行php脚本?

时间:2010-10-01 17:17:15

标签: php

除了将所有PHP脚本放入所有PHP脚本之外,我将如何运行它?

if ($_SERVER['REMOTE_ADDR'] == '123.123.123.123')
{
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}

我基本上想要将其放在每个脚本的顶部而不实际执行此操作时具有相同的效果。

2 个答案:

答案 0 :(得分:9)

将它放在自己的文件中,并将php.ini / .htaccess文件中的auto_prepend_file配置设置为指向它。

更新:由于您在评论中提到了lighttpd,请注意您可以使用PHP 5.3在全局INI文件中进行如下配置:

[PATH=/vhost/domain.com]  
auto_prepend_file = /vhost/domain.com/foo.php

[HOST=domain.com]
auto_prepend_file = /vhost/domain.com/foo.php

或者您可以创建文件/vhost/domain.com/.user.ini并执行相同的操作:

auto_prepend_file = /vhost/domain.com/foo.php

答案 1 :(得分:1)

如果您拥有更改PHP配置的必要权利,auto_prepend_file正是您所需要的。

  

auto_prepend_file   指定在主文件之前自动解析的文件的名称。包含该文件就像使用require()函数调用它一样,因此使用了include_path。

     

特殊值none禁用自动前置。