问题标签 [register-globals]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 动态更改 PHP 配置
我在 PHP 5.3 上运行了 15-10 年的多个系统,我无法继续这些系统并进行任何更改。
问题是:其中一些系统使用的 PHPregister_globals = on
在 PHP 5.3 上已经贬值,甚至在 PHP 5.4 中都不存在(http://php.net/manual/en/security.globals.php)。
我正在开发一个新系统,想转 PHPregister_globals = off
但我不能,因为所有那些需要它的旧系统。
所以我考虑在我的脚本中使用动态更改register_globals
to但是文档(http://php.net/manual/en/function.ini-set.php)让我有点困惑:off
string ini_set ( string $varname , string $newvalue )
设置给定配置选项的值。配置选项将在脚本执行期间保留此新值,并将在脚本结束时恢复。
这是否意味着如果我有两个脚本同时运行,让我们说......我的一个真正需要的旧系统register_globals = on
和我使用旧脚本的新系统将使用新ini_set()
更改register_globals = off
的设置运行?或者它会将设置保留在我的 PHP.ini 文件中,并且新系统将在ini_set()
配置上运行?
- 编辑 -
经过一些测试(见下面的代码)@Jacob 是正确的,似乎 PHP 为每个脚本创建了一个上下文,并且ini_set()
只更改了脚本的配置。
TestWithIni_Set.php
TestWithoutIni_Set.php
所以我先跑了TestWithIni_Set.php
,然后将TestWithIni_Set.php
执行(无限的while循环)我跑了TestWithoutIni_Set.php
。
不幸的是,看起来我无法register_globals
用ini_set()
. 我尝试了以下方法:
然后为了确保我的代码没有问题,我尝试了:
只是想看看它是否会起作用并且确实有效。然后log_errors
脚本ini_set()
的值是关闭的,log_errors
脚本的值ini_set()
是打开的。
但现在我有一个不同的问题。
register_globals
如果我不能使用 更改它,如何仅更改正在运行的脚本的值ini_set()
?
php - register_globals 不起作用
我更改了托管服务,当我尝试register_globals
在PHP.ini
我的网站中启用时,行为异常。每次我单击一个页面时,它都会下载一个出现此错误的页面:
指令“register_globals”在 PHP 中的 Unknown on line 0 中不再可用
如何启用 register_globals 指令?我知道这不确定,但我应该更换很多东西
php - php 中的会话立即将我注销
我是 php 新手,并且坚持使用为 php4 编写的旧代码。一切似乎都运行良好,我什至在这里快速修复了 register_globals。问题是,我在单击任何链接后立即退出,所以我怀疑这次是会话问题。请帮我检查一下:
<
php - 如何在 Godaddy 上启用 register_globals
我尝试了几种方法,使用以下代码更新 php.ini 文件:
似乎没有任何效果。我已经与他们的支持进行了交谈,他们不想启用它。我让它在 bluehost 上工作,我相信它默认在那里启用。
php - 使用 PHP 5.5 将 register_globals 添加到 XAMPP 1.8.4
我有需要 register_globals 的脚本,只是它在 5.3 中被弃用并在 5.4 中被删除,而我有 PHP 5.5。安装另一个版本的 xampp 不是一种选择。我发现这个http://www.kaffeetalk.de/using-register_globals-in-php-5-5/只是这不是用于 xampp 而是用于灯或 linux。我该怎么做。
authentication - LARAVEL 5 :: 在主页上显示“用户名”?
所以新版本的 Laravel 已经内置了登录和注册系统,所以我更改了注册页面中的一些字段,现在希望在登录后在主页上显示“用户名”而不是“姓名”。有谁知道这归因于哪里?一直在无休止地寻找这个。谢谢。
global-variables - osCMax 2.0 php 5.6 注册全局变量
我正在使用 osCMax 2.0,我的 ISP 打算将 php 版本升级到 5.6,为了使其与 php 5.6 兼容,我从https://apps.oscommerce.com/0ma2w应用了补丁,该站点现在正在打开,但是单击添加到购物车会将我带到一个空白页面,并且该产品也没有添加到购物车中。帐户页面也是空白的。我在这里添加补丁代码。
php - Is the PHP directive entry 'register_globals' has been completely removed from the php.ini(The PHP configuration file) as of PHP 7.1.12?
I'm using PHP 7.1.12 using XAMPP on Windows 10 operating system.
Today, I was just checking the output of phpinfo()
in my web browser and surprisingly I no where found an entry for the directive register_globals
in it.
Almost on 70% of its pages, the PHP Manual mentions this directive register_globals
has been deprecated and should not be used but I can't even see the respective entry in php.ini file. So, is the respective entry has been completely removed from the PHP distribution?
Also, let me know whether old $HTTP_*_VARS
arrays are accessible to me i.e. in PHP 7.1.12 or not or they also have been removed from the PHP distribution?
php - 如何在 wampserver3.1.9_x64 localhost 上禁用全局注册?
我有一个 Web 应用程序,我想使用 wamp 在我的本地主机服务器上安装,该应用程序需要在服务器配置上注册全局 OFF。
我在网上尝试了一些解决方案,但没有解决问题。
php - 代替没有 register_globals 的 $DOCUMENT_ROOT?
我有一个网站(手工编码的 HTML/CSS/PHP),有数百个页面,每个页面都有多个引用$DOCUMENT_ROOT
- 例如:
在 PHP 5 下运行良好,但register_globals
已被弃用并从 PHP 7 中删除,所以它不再工作了。
我不想硬编码文件的路径,因为我的测试服务器和实时服务器使用不同的文件路径 - 例如:
测试服务器:/home4/testing/public_html/home/index.html
直播服务器: /home4/live/public_html/home/index.html
(另外,就一般原则而言,不必要地对路径进行硬编码似乎是个坏主意。)
我从句法上收集它,$_SERVER['DOCUMENT_ROOT']
或者$_SERVER["DOCUMENT_ROOT"]
可以替换$DOCUMENT_ROOT
.
我在源 HTML 上尝试了一个简单的搜索和替换:
和
两者都不起作用 - 我得到 ERROR 500。
"
第一个很明显有字符串引用的问题(在错误的地方太多了)。
但第二个也不起作用(也是错误 500)。
如何让我的网站在 PHP 7 上运行?
有什么我可以放入.htaccess
或php.ini
定义的$DOCUMENT_ROOT
吗?
或者是否有不同的语法可以使用$_SERVER["DOCUMENT_ROOT"]
?
还是有更好的解决方案?
我的主要目标是让它尽快再次运行(它是一个公司网站,由于 Hostgator 出于安全原因已取消对 PHP 5 的支持,它已关闭),而不会造成更严重的问题。