我们有一个依赖于 register_globals 打开工作的客户端应用程序,但我们将它托管在我们的共享服务器上,并且不想在我们的主 php.ini 文件中打开 register_globals。
我尝试插入ini_set ( 'register_globals' , 'On' );
,但没有奏效。为什么没有呢?还有更好的方法吗?
我们有一个依赖于 register_globals 打开工作的客户端应用程序,但我们将它托管在我们的共享服务器上,并且不想在我们的主 php.ini 文件中打开 register_globals。
我尝试插入ini_set ( 'register_globals' , 'On' );
,但没有奏效。为什么没有呢?还有更好的方法吗?
你总是可以尝试把:
extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty
在每个文件之上。据我所知,它会产生相同的结果。但真的,真的,使用这些很糟糕。我会寻找一种方法来更改代码。但有时你别无选择。
从 php 文档:
请注意,无法在运行时设置 register_globals (ini_set())。不过,如果您的主机允许,您可以使用 .htaccess,如上所述。.htaccess 条目示例:php_flag register_globals off。
register_globals只能在 php.ini 中设置。不是由ini_set运行时 您只能通过以下代码读取此设置:
ini_get('register_globals');