草庐IT

Superglobals

全部标签

php - PHP 在启动过程的什么时候设置 REQUEST_TIME 变量

如PHPdocumentation中所述,$_SERVER超全局数组包含两个元素,REQUEST_TIME和REQUEST_TIME_FLOAT,它们都包含请求开始的时间戳,在不同的精度水平。我目前正在使用以下代码段来包含服务器在页面页脚中生成页面所花费的时间(以毫秒为单位):round((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'])*1000,2);它返回一个准确的值(无法真正检查,但它似乎与浏览器开始加载页面所需的时间相匹配),但我想知道$_SERVER['REQUEST_TIME']和$_SERVER['REQUEST_TIME_

php 解释器和 superglobals

首先,我是一名法国学生,请原谅我的英语不好水平。我们目前正在开发Web服务器(C++),我必须开发CGI执行部分,更确切地说:PHPCGI部分。当用户询问我们服务器上的.php页面时,我们fork/pipe并调用/usr/bin/php口译员。例如:$/usr/bin/phpindex.php现在,我们可以将结果保存在缓冲区中(生成的index.phphtml代码),我可以发送这个内容给客户。它适用于没有任何变量的简单脚本。然而,许多php脚本使用一些超全局变量,如$_GET和$_POST。我的问题是:如何将此参数提供给php解释器?示例:如何设置此$_POST变量以将“Hellowo

php - 可以安全覆盖超全局 $_SESSION 吗?

用专门的session对象覆盖超全局$_SESSION是否安全?classSessionObjectimplementsArrayAccess{...}...//Sessiondatahasjustbeendeserialisedfromstore.$_SESSION=newSessionObject($session_data);...//Usingsessionobject...$_SESSION['key']=27;$x=$_SESSION->get_data('key2','default-value'); 最佳答案 虽然这

访问 PHP superglobals 的 PHP 扩展库

我用C++编写了一个PHP扩展库。我正在为上面的PHP5.x广告编写扩展。我需要在我的C++代码中访问PHPsuperglobals。有谁知道如何做到这一点?。将不胜感激指向类似资源(无双关语...)的代码片段或指针(无双关语)。 最佳答案 您实际需要什么数据?-大多数数据的最佳方式是引用它们来自的C结构。例如,对于请求数据,您可以检查sapi_globals,可使用SG()宏访问,session数据可通过session模块获得,...如果您确实需要访问super全局变量,您可以在EG(symbol_table)哈希表中找到它。由于

php - 了解 PHP $GLOBALS 变量

我正在从w3schools的PHP教程学习PHP。在学习PHP时,我遇到了预定义全局变量的概念,即Superglobals。出于对更深入地理解“Superglobals”的好奇心,我编写了以下代码并在本地计算机(即本地主机)的浏览器中执行了它:";print_r($GLOBALS);echo"";?>我在浏览器中得到以下输出:Array([_GET]=>Array()[_POST]=>Array()[_COOKIE]=>Array([toWorkNormally]=>1)[_FILES]=>Array()[GLOBALS]=>Array*RECURSION*)上面的输出在我脑海中产生了

php - $_SERVER ['HTTP_HOST' ] 也包含端口号 =/

我不知道这可能是一个错误。我的服务器上有2个虚拟主机。virtualhost1.comvirtualhost2.com如果我使用端口80(virtualhost1.com:80)打开virtualhost1.com$_SERVER['HTTP_HOST']='virtualhost1.com';但是如果我打开virtualhost2.com:80$_SERVER['HTTP_HOST']='virtualhost2.com:80';//NOTE:withportnumber我能知道为什么吗? 最佳答案 $_SERVER['HTTP_

php - 我应该使用 PHP Superglobals 还是 Filter Input 来检索 $_GET 数据?

我真的很讨厌全局变量——也许是因为我是C#程序员,但是当我在PHP中工作时,每次我不得不做这样的事情时我都会咬紧牙关:$strUsername=$_GET['username'];是的,我过于简单化了,是的,我正确地清理了所有这些。事实上,对于我构建的框架,几乎在执行开始时就捕获了所有超全局变量,并从那里开始进行依赖注入(inject)。我在PHP手册中遇到过这个函数(你真的每天都能学到新东西):filter_input_array()。所以现在,从技术上讲,我可以这样做而不是从GET超全局中获取所有内容:$GETdata=filter_input_array(INPUT_GET);.

php - 在 PHP 中直接使用 superglobals 是好是坏?

所以,我并没有深厚的PHP背景——我想知道在格式良好的代码中,是否应该直接使用“superglobals”,例如在某些函数的中间说$_SESSION['x']='y';或者,如果像我通常对变量所做的那样,最好将它们作为参数发送,可以从那里,例如:classDoer{private$sess;publicfunction__construct(&$sess){$this->sess=&$sess;}}$doer=newDoer($_SESSION);然后使用来自Doer等的Doer->sess版本。(这种方法的好处是明确Doer使用了$_SESSION。)这个问题公认的PHP设计方法是什

php - : PHP_OS 的可能值

有没有地方可以找到PHP预定义常量PHP_OS的可能值列表?我想将此值用于系统要求检查,但需要知道如何在此变量中命名不同的操作系统。通过一些搜索,到目前为止,我已经编译了以下列表:CYGWIN_NT-5.1DarwinFreeBSDHP-UXIRIX64LinuxNetBSDOpenBSDSunOSUnixWIN32获胜window如果有人有更完整的列表,或者知道任何其他值,我很想听听他们! 最佳答案 PHPpassesthroughtheuname,exceptonWindows(WINNT)和Netware(Netware).见

php - : PHP_OS 的可能值

有没有地方可以找到PHP预定义常量PHP_OS的可能值列表?我想将此值用于系统要求检查,但需要知道如何在此变量中命名不同的操作系统。通过一些搜索,到目前为止,我已经编译了以下列表:CYGWIN_NT-5.1DarwinFreeBSDHP-UXIRIX64LinuxNetBSDOpenBSDSunOSUnixWIN32获胜window如果有人有更完整的列表,或者知道任何其他值,我很想听听他们! 最佳答案 PHPpassesthroughtheuname,exceptonWindows(WINNT)和Netware(Netware).见