首页 > TAG信息列表 > superglobals

在变量变量(PHP)中使用$_SERVER时出错

我试图通过GET参数获取超全局变量的名称.有人告诉我在get请求中仅传递_VAR_NAME(不带$),因此在程序中,我必须通过变量变量$$_ GET [‘parameter_name’]访问它. 除了$_SERVER之外,其他一切正常.要尝试出什么问题,我只是做了一个小PHP脚本来测试正在发生的事情.这是代码: <?php

全局变量未在PHP的静态Class方法内部更新

我在PHP中遇到全局变量问题.我的问题是,我在静态类方法内更改的全局变量没有在方法外更新. 我已经包含了代码: test.php define( 'APP_ID', 'TESTING' ); $_APP = array( 'test' => 'test value' ); include ('appsettings.class.php'); AppSettings::initApplication(

PHP内置服务器/路由脚本:空的全局变量

我正在尝试启动一个本地服务器,以捕获所有调用的Urls.基本上,我想为测试目的模拟一个REST接口,并将所有Urls和POST / PUT / PATCH数据写入文件. 我像这样启动服务器: php -S localhost:9999 -t /var/www/tests/import/ /var/www/tests/import/index.php / var / www / tests / imp

测量PHP脚本的时间-使用$_SERVER [‘REQUEST_TIME’]

这些方法是衡量脚本的可靠方法吗? $time =($_SERVER [‘REQUEST_TIME_FLOAT’]-$_SERVER [‘REQUEST_TIME’])); 要么 $time =(microtime(true)-$_SERVER [‘REQUEST_TIME_FLOAT’]); 应该使用哪一个? 每个有什么区别? 他们返回非常不同的测量结果.解决方法:> $time =($_SERVER [‘REQU

如何使用PHP获取URL参数?

我正在尝试抓取每个URL参数并从头到尾显示它们,但我希望能够在页面的任何位置显示任何参数.我怎样才能做到这一点?我需要在脚本上添加或修改什么内容? 以下是URL值的示例. http://www.localhost.com/topics/index.php?cat=3&sub1=sub-1&sub2=sub-2&sub3=sub-3&sub4=sub-4 这是我的P

在启动过程的哪个阶段,PHP设置了REQUEST_TIME变量

如PHP documentation所述,$_SERVER超全局数组包含两个元素REQUEST_TIME和REQUEST_TIME_FLOAT,它们都包含不同精度级别的请求开始的时间戳. 我目前正在使用以下代码段来包含服务器在页面页脚中生成页面所花费的时间(以毫秒为单位): round((microtime(true)-$_SERVER['REQUEST_TIME_F

php – 我应该将superglobals存储为包装类’属性还是应该直接访问它?

我想为Session和Request创建一个包装器,这样我就不必直接访问PHP superglobals了.我意识到如果我为超级全局创建一个包装器并使用它们,单元测试我的应用程序会更容易,因为包装类可以被模拟. 在尝试创建我的包装类时,我研究了一些示例包装类.其中一些在初始化时将超全局存储为类属性

PHP $_SERVER [‘SERVER_ADDR’]变量始终返回127.0.0.1

我们有多个负载均衡的webserver机器运行相同的PHP webapp(LAMP),我想在每个服务器上运行稍微不同的代码(用于测试目的).我希望使用$_SERVER [‘SERVER_ADDR’]超级全局来做这样的事情: if ($_SERVER['SERVER_ADDR'] == 'XXX.XXX.XXX.XXX') { echo "Do one thing"; } elseif ($_SE

PHP :: get()和$_GET []之间的差异

有什么区别 Input::get('value') 还有这个: $_GET['value'] 什么时候更好地使用其中之一?解决方法:Input :: get()是Laravel的一个函数 $email = Input::get('email'); Note: The “get” method is used for all request types (GET, POST, PUT, and DELETE), not ju

您是否认为PHP中的错误形式是在类方法中访问超级全局变量?

以类帐户中的示例login()函数为例. class Account { /* Class variables */ public function login() { if(isset($_POST['username']) && isset($_POST['password'])) return $this->_formLogin(); else if(isset($_S

php – 是否有一个很好的替代$_SERVER [‘SERVER_NAME’]?

我在PHP doc pages上阅读了以下评论: “Be warned that most contents of the Server-Array (even $_SERVER[‘SERVER_NAME’]) are provided by the client and can be manipulated. They can also be used for injections and thus MUST be checked and treated like any

php – $GLOBALS superglobal在传递给函数时被修改

我在PHP中遇到了一些奇怪的行为: function f($var) { // not using references foreach ($var as $k => $v) { unset($var[$k]); // shouldn't this unset from a copy?! } } print '<pre>'; var_dump($GLOBALS); // array f($GLOBALS); var_dum

php – 如何以正确的方式访问superglobals?

我正在发现PHP的秘密.我找到了一件我没有回答的事情.我想从类中的超全局$_SESSION访问变量.一切正常,但PHPMD引擎检查代码中的混乱是显示我的问题. 我通过这种方式从$_SESSION超全球获得价值 $value = $_SESSION["value"]; 我用这种方式编辑$_SESSION超全局的值 $_SESSION['valu

PHP解释器和超级全局

首先,我是一名法国学生,请原谅我英语不好 水平. 我们目前正在开发一个Web服务器(C),我必须开发CGI执行部分,更确切地说:PHP CGI部分. 当用户在我们的服务器上询问.php页面时,我们fork / pipe并调用/usr/bin/php翻译.例如 : $/usr/bin/php index.php 现在,我们可以将结果保存在缓冲区(

php – $_SERVER [‘SERVER_ADDR’]总是设置?

是否始终设置$_SERVER [‘SERVER_ADDR’]? 我应该检查isset()还是没必要? 我需要获取网站的IP,以便我可以找出它是否为127.0.0.1/localhost解决方法:它不会总是被设定.考虑到你可以在没有服务器的情况下安装PHP并从命令行运行它.任何$_SERVER变量都无法保证,但如果您在服务器上尝试一

php – 安全覆盖超全球$_SESSION?

用专门的会话对象覆盖超全局$_SESSION是否安全? class SessionObject implements ArrayAccess { ... } ... // Session data has just been deserialised from store. $_SESSION = new SessionObject( $session_data ); ... // Using session object... $_SESSION['key'] = 27;