【问题标题】:Session variable leaking into global namespace会话变量泄漏到全局命名空间
【发布时间】:2012-11-05 05:45:10
【问题描述】:

index.php

session_start();
$_SESSION['a']='test';
echo $a;
die();

当我运行上述程序时,我第一次得到一个没有错误的空白屏幕。页面刷新后,它会输出单词test

它不在我的开发服务器上执行此操作,仅在生产服务器上执行(在 Hostgator 上共享)。

这是服务器故障吗?

【问题讨论】:

  • register_globals 定义了它。这就是问题所在。

标签: php session global memory-leaks


【解决方案1】:

register_globals 不幸在您的 Hostgator 主机上打开。如果他们允许您访问它,您需要在您的 php.ini 中将其关闭。

【讨论】:

  • 您应该寻找更好的主机。 register_globals 自 PHP 5 以来已被弃用,我相信自 5.3 以来完全删除。默认情况下,它已 5 年以上未打开。它与您的主机有关应该被视为一个警告信号。
  • 跟进,我上面给出的链接中的说明对我不起作用。尽管它成功关闭了 register_globals ,但它破坏了其他东西。但是,如果您要求,他们会给您完整的 php.ini 文件并在 register_globals 关闭的情况下设置它。现在似乎可以工作了。
猜你喜欢
  • 1970-01-01
  • 2012-03-13
  • 2011-03-25
  • 2011-08-31
  • 2017-01-04
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 2021-04-19
相关资源
最近更新 更多