jjzjj

PHP $GLOBALS 缺少 $_SERVER

coder 2024-01-05 原文

根据 http://www.php.net/manual/en/reserved.variables.globals.php :

An associative array containing references to all variables which are currently defined in the global scope of the script.

因此,以下代码必须显示 $GLOBALS var 具有 _SERVER_ENV(如果它在 php.ini 中的 variables_order 中启用)和 _REQUEST键:

var_dump($GLOBALS); 

结果是:

  • 在 nginx + php-fpm 下:缺少 _SERVER_ENV_REQUEST
  • 在 cli 下:缺少 _ENV_REQUEST

嗯..也许文档中有关于此行为的信息?我查看了每个变量的每个页面:

而且我没有发现任何关于此类行为的提及。为什么会这样?

我已经使用来自 http://www.dotdeb.org/ 的 debian 包安装了 php repo 协议(protocol)(没有任何内容是手动编译的)...目前正在使用 nginx + php5-fpm 运行。 这是一个 PHP 错误吗?

最佳答案

我在 php.net 网站上创建了一个错误,php 团队回答:https://bugs.php.net/bug.php?id=65223

总结:

This is not a bug. super-globals (aka. auto globals) are not added to symbol tables by default for performance reasons unless the parser sees need. i.e.

<?php $_SERVER; print_r($GLOBALS); ?>

will list it. You can also control this using auto_globals_jit in php.ini: http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit

感谢 php 团队这么快就回答了!

关于PHP $GLOBALS 缺少 $_SERVER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17545710/

有关PHP $GLOBALS 缺少 $_SERVER的更多相关文章

  1. ruby-on-rails - rails : uninitialized constant just happen on production server - 2

    我有一个放在lib/network中的类:moduleNetworkApiclassNetworkProxyendend然后在另一个类中,我引用了这个类:network_proxy=::NetworkApi::NetworkProxy.new(params)一切都在我的开发环境中正常运行,但是当我部署到服务器时,我在上面一行收到错误消息:NameError:uninitializedconstantNetworkApi::NetworkProxy我不知道为什么会出现这个奇怪的错误。请告诉我为什么。 最佳答案 请注意Rails5dis

  2. ruby-on-rails - 如果特定语言环境中缺少翻译,如何配置 i18n 以使用 en 语言环境? - 2

    如果特定语言环境中缺少翻译,如何配置i18n以使用en语言环境翻译?当前已插入翻译缺失消息。我正在使用RoR3.1。 最佳答案 找到相似的question这里是答案:#application.rb#railswillfallbacktoconfig.i18n.default_localetranslationconfig.i18n.fallbacks=true#railswillfallbacktoen,nomatterwhatissetasconfig.i18n.default_localeconfig.i18n.fallback

  3. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  4. ruby-on-rails - Rails 和 MQTT : Subscribe to topic in background at server startup? - 2

    我想在服务器启动时在我的Rails应用程序中订阅一个mqtt主题,并保持订阅始终处于事件状态和运行状态。我正在使用这个mqttgem进行mqtt通信:https://github.com/njh/ruby-mqtt这是我现在拥有的:在application.rb中:config.after_initializedomqttSub=BackgroundMQTT.newmqttSub.runend后台MQTT类:classMQTTSubscriberdefrunThread.newdoMQTT::Client.connect(:host=>'localhost',:port=>1883,)

  5. Ruby 缺少常量表达式优化? - 2

    我希望Ruby的解析器会进行这种微不足道的优化,但似乎并没有(谈到YARV实现,Ruby1.9.x、2.0.0):require'benchmark'deffib1a,b=0,1whileb由于这两种方法除了在第二种方法中使用预定义常量而不是常量表达式外是相同的,因此Ruby解释器似乎在每个循环中一次又一次地计算幂常数。是否有一些Material说明为什么Ruby根本不进行这种基本优化或只在某些特定情况下进行? 最佳答案 很抱歉给出了另一个答案,但我不想删除或编辑我之前的答案,因为它下面有有趣的讨论。正如JörgWMittag所说,

  6. ruby - Thin::Server#daemonize 立即退出 - 2

    我试图制作一个可执行文件,它通过Thin作为守护进程启动Sinatra应用程序。我正在使用此代码通过Sinatra应用程序调用Thin:#!/usr/bin/envrubyrequire'thin'require'app.rb'server=::Thin::Server.new('127.0.0.1',9999,App)server.log_file='tmp/thin.log'server.pid_file='tmp/thin.pid'server.daemonize这是我执行脚本时得到的日志输出:>>WritingPIDtotmp/thin.pid>>Exiting!服务器正常启动

  7. ruby-on-rails - 子域 + ActionView::Template::Error(缺少要链接的主机!) - 2

    我已经解决了标题中描述的错误的众多解决方案。ActionView::Template::Error(缺少要链接的主机!请提供:host参数,设置default_url_options[:host],或将:only_path设置为true):但是,该项目还修改了url_for函数以使用子域,如本railscast所示:http://railscasts.com/episodes/221-subdomains-in-rails-3因此,这个错误的传统答案,例如在我的环境设置中设置变量似乎不是解决方案。这里有一些其他的提示:这是一个全新的设置,我刚刚克隆了一个项目并安装了ruby​​、rai

  8. ruby - RSpec Git Bash Windows——缺少颜色? - 2

    我在Windows上使用GitBash来完成我的大部分Rails工作,每次我运行bundleexecrspecspec它都会提醒我“你必须geminstallwin32console才能使用Windows上的颜色”,然后以纯黑色和白色运行RSpec。但是我确实安装了win32console,当我在列表中运行gemlist时,它有win32console(1.3.0x86-mingw32)。RSpec工作正常,但我希望它有一些颜色。我用谷歌搜索了这个并找到了多种解决方案,但似乎没有一个适合我。有人可以写出在GitBashforWindows上使用RSpec获取颜色的“循序渐进”方法吗?

  9. ruby-on-rails - ActionView::TemplateError(缺少模板)在 ruby​​ on rails 中 - 2

    我正在运行一个RoR应用程序(rails2.3.8,ruby1.8.7),该应用程序在我的本地机器上运行良好。但在生产中,日志显示以下错误:ActionView::TemplateError(Missingtemplatefolder/_file_name.erbinviewpathapp/views)online#19ofapp/views/layouts/main.rhtml:19:"folder/file_name"-%>文件名为folder/_file_name.html.erb,我试图在生产环境中重现该问题,但没有成功,出于某种原因,rails应用程序要求folder/_fi

  10. ruby - 轨道 4 log4r server.rb :78:in `start' : undefined method `formatter' - 2

    我已经研究这个话题太久了,所以我必须发布这个。我有几个运行此设置的应用程序,其中一个在rails启动(railss)时完全失败。它们的配置几乎完全相同,但我似乎无法在这里大海捞针。有没有人对如何找到这个问题有任何指示?设置基于:http://blog.mmlac.com/log4r-for-rails/comment-page-1/#comment-1731当我尝试运行railss时:=>BootingWEBrick=>Rails4.0.0applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Run`railsserver-h`f

随机推荐