LauTT 2023-05-17 11:11 采纳率: 0%
浏览 54
已结题

PHP偶发性$_SERVER为空

偶发性PHP中$_SERVER为空,重启apache后可以恢复
php版本为7.1.31(cli) 在windows环境下安装
不能稳定重现,查看过apache和php的日志,未发现相关报错
windows系统日志中也没有相关报错

  • 写回答

7条回答 默认 最新

  • Stephen_112 2023-05-22 08:16
    关注
    获得1.80元问题酬金

    $_SERVER 是一个超全局变量,用于存储服务器和请求相关的信息。如果您发现 $_SERVER 偶尔为空,那么可能是由于以下原因之一所导致。

    1. 代理服务器问题

      如果您的 Web 应用程序在代理服务器后面运行,则有时可能会出现 $ _SERVER 变量中缺少某些值的情况。这是因为一些代理服务器不会将所有请求头信息转发到 Web 服务器,导致丢失一些 $_SERVER 中的值。如果您遇到这种情况,可以尝试直接访问 Web 服务器来解决此问题。

    2. Web 服务器配置问题

      如果您的 Web 服务器配置错误,也可能会导致 $_SERVER 变量中缺少某些值。例如,如果您使用 Nginx 和 FastCGI,在某些情况下 FastCGI 进程可能会意外退出并重新启动,这可能会导致 $_SERVER 变量中的值丢失。检查并修复您的 Web 服务器配置可能会解决此问题。

    3. PHP-FPM 配置问题

      如果您使用 PHP-FPM 来处理 PHP 脚本,则可能会出现由于 PHP-FPM 进程池设置的问题导致 $_SERVER 变量丢失的情况。例如,如果您将 pm.max_children 设置得太低,可能会导致 PHP-FPM 进程不足,从而导致 $_SERVER 变量丢失。增加 PHP-FPM 进程池的大小可能会有所帮助。

    以上是可能导致 $_SERVER 变量偶尔为空的一些常见原因,您可以根据具体情况进行排查和解决。

    评论

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 修改了问题 5月17日
  • 创建了问题 5月17日

悬赏问题

  • ¥15 touchsocket udp组播
  • ¥20 MAC怎么安装Silverlight 插件?以及安装了怎么启用
  • ¥15 VS2012中查询语句无法填入解析,数值传不进去
  • ¥15 gis系统开发出现命名空间“ESRI.ArcGIS”中不存在类型或命名空间名“Analyst3D”报错
  • ¥15 怎么让ai定时给我发信息 c#或者python
  • ¥15 scrapy的Error
  • ¥15 RBF-VSG姚凤军论文复现问题
  • ¥30 开发一个APP商城在制作tabbar的时候运行不了代码没有检查出错误,但是显示不出tabbar,以下为运行结果,如何解决?
  • ¥15 多网卡服务器中winform如何绑定指定网卡
  • ¥15 关于#python#pandas#的问题,想要实现:多个TXT导入Excel,进行分列,不同txt之间都从第一行开始,请各位专家解答!