php – 为什么Laravel 5从Server对象中删除REMOTE_ADDR?
发布时间:2020-12-14 19:44:19 所属栏目:大数据 来源:网络整理
导读:我希望以前有人见过这个,我一直在搜索谷歌并且无处可去. 我正在尝试做一些非常简单的事情,从$_SERVER对象中检索REMOTE_ADDR,但它只是等于true(1). 我确信这是一个与laravel相关的配置问题,但不知道从哪里开始挖掘. $_SERVER的内容如下(显然我已经删除了可能
我希望以前有人见过这个,我一直在搜索谷歌并且无处可去.
我正在尝试做一些非常简单的事情,从$_SERVER对象中检索REMOTE_ADDR,但它只是等于true(1). 我确信这是一个与laravel相关的配置问题,但不知道从哪里开始挖掘. $_SERVER的内容如下(显然我已经删除了可能敏感的路径等) USER = '[REMOVED]' HOME = '[REMOVED]' FCGI_ROLE = 'RESPONDER' REDIRECT_HANDLER = 'php5-fcgi' REDIRECT_STATUS = '200' HTTP_HOST = '[REMOVED]' HTTP_CONNECTION = 'keep-alive' HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' HTTP_USER_AGENT = 'Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/43.0.2357.93 Mobile Safari/537.36' HTTP_REFERER = '[REMOVED]' HTTP_ACCEPT_ENCODING = 'gzip,deflate,sdch' HTTP_ACCEPT_LANGUAGE = 'en-GB,en-US;q=0.8,en;q=0.6' PATH = '/usr/local/bin:/usr/bin:/bin' SERVER_SIGNATURE = 'Apache/2.2.22 (Ubuntu) Server at [REMOVED] Port 80' SERVER_SOFTWARE = 'Apache/2.2.22 (Ubuntu)' SERVER_NAME = '[REMOVED]' SERVER_ADDR = '[REMOVED]' SERVER_PORT = '80' REMOTE_ADDR = '1' DOCUMENT_ROOT = '[REMOVED]' SERVER_ADMIN = '[REMOVED]' SCRIPT_FILENAME = '[REMOVED]' REMOTE_PORT = '48650' REDIRECT_QUERY_STRING = '[REMOVED]' REDIRECT_URL = '/index.php' GATEWAY_INTERFACE = 'CGI/1.1' SERVER_PROTOCOL = 'HTTP/1.1' REQUEST_METHOD = 'GET' QUERY_STRING = '[REMOVED]' REQUEST_URI = '[REMOVED]' SCRIPT_NAME = '/index.php' ORIG_SCRIPT_FILENAME = '[REMOVED]' ORIG_PATH_INFO = '/index.php' ORIG_PATH_TRANSLATED = '[REMOVED]' ORIG_SCRIPT_NAME = '/php5-fcgi' PHP_SELF = '/index.php' REQUEST_TIME = '1435331181' 注意REMOTE_ADDR =’1′ 那里发生了什么? 我试过在/ var / www / myapp / public /中创建一个test.php文件,如下所示 <?php print_r($_SERVER) 它正确地给了我REMOTE_ADDR,这让我相信这是一个laravel问题. 如果有人能够提出为什么会这样,以及我能做些什么,我们将不胜感激. 相关版本号:
解决方法
尝试使用Request :: ip();你的问题解决了.我知道这不是一个非常有建设性的答案,但它解决了你的问题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |