我有一些遗留代码要修改PHP5.4
,脚本最初是用PHP4.0
.
当我们尝试登录时出现问题。
HTTP_POST_VARS
无法识别,这些post
和get
变量需要更改为$_POST
整个$_GET
脚本,价值 30-40 个脚本文件。
有人可以分享有关如何将所有长变量更改为短变量的任何想法$_POST
。
我试图打开文件,但它已经打开register_long_arrays
了php.ini
,不知道还有什么要做的。
我有一些遗留代码要修改PHP5.4
,脚本最初是用PHP4.0
.
当我们尝试登录时出现问题。
HTTP_POST_VARS
无法识别,这些post
和get
变量需要更改为$_POST
整个$_GET
脚本,价值 30-40 个脚本文件。
有人可以分享有关如何将所有长变量更改为短变量的任何想法$_POST
。
我试图打开文件,但它已经打开register_long_arrays
了php.ini
,不知道还有什么要做的。
该register_long_arrays
指令不再存在:
该指令在 PHP 5.0.0 中可用。[...] 此功能自 PHP 5.3.0 起已弃用,自 PHP 5.4.0 起已删除。
任何体面的编辑器都应该提供“在文件中替换”菜单项(通常在“编辑”、“搜索”或类似位置下)。有了这个,它应该是一个 2 分钟的任务,因为HTTP_POST_VARS
它是一个不会引起太多歧义的长名称。
您似乎正在使用 phpDesigner。您可以在他们的网站上找到屏幕截图(向下滚动到“高级搜索和替换”)。
编辑:您似乎对文本编辑器感到恐慌,因此另一种选择是自己创建缺少的变量:
$HTTP_GET_VARS = &$_GET;
$HTTP_POST_VARS = &$_POST;
$HTTP_POST_FILES = &$_FILES;
$HTTP_SERVER_VARS = &$_SERVER;
$HTTP_SESSION_VARS = &$_SESSION;
$HTTP_ENV_VARS = &$_ENV;
$HTTP_COOKIE_VARS = &$_COOKIE;
您可以将此代码放在您希望拥有的应用程序的主设置文件的顶部(否则,考虑到搜索和替换显然不是一个选项,您需要将这些东西放在一个新*.php
文件中并神奇地加载它使用auto_prepend_file PHP 指令)。
请注意,我们&
用于分配引用,因此配对变量保持同步(这对于$HTTP_SESSION_VARS
实际工作特别重要)。
当然,$HTTP_...
变量不是超全局变量。如果您并不真正了解代码,则可能会遇到细微的错误。
`$HTTP_GET_VARS = &$_GET;
$HTTP_POST_VARS = &$_POST;
$HTTP_POST_FILES = &$_FILES;
$HTTP_SERVER_VARS = &$_SERVER;
$HTTP_SESSION_VARS = &$_SESSION;
$HTTP_COOKIE_VARS = &$_COOKIE;`
在数据库有效功能启动之前将它们全部放在配置(设置)文件中,并且它适用于属于该文件夹的所有脚本。