当我们打开register_globals时,php 5.3似乎崩溃了

Apache的segfaults,当我们有php 5.3开启register_globals。 我知道我们不应该这样做,现在我们已经把它closures了,但是我们的一些非常古老的代码需要它。 任何人有什么提示/试图解决这个问题?

谢谢

拼凑方法
你可以在很早的脚本中包含一些代码,你可以使用其中一个众所周知的register_global兼容性代码,你可以用googlesearch。

一个例子可能是:

// ################# :: Register Globals Compatibility :: ################# $globals_test = @ini_get('register_globals'); if ( isset($globals_test) && empty($globals_test) ) { // These still need some work :: Cookie|Server|Env are ok now. if ( !empty($HTTP_GET_VARS) ) { extract($HTTP_GET_VARS, EXTR_SKIP); } if ( !empty($HTTP_POST_VARS) ) { extract($HTTP_POST_VARS, EXTR_OVERWRITE); } define('_GLOBALS', FALSE); } else { define('_GLOBALS', TRUE); } 

autopatchwork方法

你可以加:

 php_value auto_prepend_file "/path/to/file/with_the_above_code" 

到您的.htaccessVirutualHosts部分 ,以自动完成这项工作,而无需触摸任何现有的脚本。

明智的做法
最好的事情当然是重写旧的代码,因为register_globals是一个众所周知的邪恶。