只为一个应用程序打开register_globals

时间:2012-02-21 20:56:37

标签: php register-globals

我们有一个依赖于register_globals开启工作的客户端应用程序,但是我们将它托管在我们的共享服务器上,并且不想在我们的主php.ini文件中打开register_globals。

我尝试插入ini_set ( 'register_globals' , 'On' );但它没有用。为什么不呢?还有更好的方法吗?

3 个答案:

答案 0 :(得分:7)

你可以随时尝试:

 extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty

在每个文件的顶部。据我所知,它会大致相同的结果。 但真的,真的,使用它们的坏坏。我想找一种方法来改变代码。但有时你别无选择。

答案 1 :(得分:5)

来自php文档:

  

请注意,无法在运行时设置register_globals   (函数ini_set())。虽然,如果您的主机允许,可以使用.htaccess   如上所述。一个示例.htaccess条目:php_flag register_globals   关闭。

link to php documentation on register_globals

答案 2 :(得分:1)

register_globals 只能在php.ini中设置。 ini_set 不是运行时 您只能通过以下代码阅读此设置:

ini_get('register_globals');