只为一个应用程序打开register_globals

Yar*_*rin 4 php register-globals

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

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

Izn*_*ood 7

你总是可以尝试:

 extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty
Run Code Online (Sandbox Code Playgroud)

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

  • 只是想我会补充说OP应该使用EXTR_SKIP作为第二个参数.默认情况下,extract设置为EXTR_OVERWRITE.提取物($ _ REQUEST,EXTR_SKIP); (3认同)

its*_*inn 5

从php文档:

请注意,register_globals不能在运行时设置(ini_set()).虽然如果您的主机允许它,您可以使用.htaccess,如上所述.一个示例.htaccess条目:php_flag register_globals off.

链接到register_globals上的php文档