由于某种原因,查询字符串似乎没有在我的实时环境中传递。我将 Request 添加到我的回调处理程序并使用dd($request 打印结果。
第一个示例是当我将设置(.env 文件 twitch 重定向 url + twich api 站点本身)调整为我的虚拟框的 ip,其中 1 个克隆现在正在运行。
+server: ServerBag {#42 ▼
#parameters: array:35 [▼
"USER" => "www-data"
"HOME" => "/var/www"
"HTTP_COOKIE" => "XSRF-TOKEN=blahhhblaaaaah ▶"
"HTTP_ACCEPT_LANGUAGE" => "en-US,en;q=0.8"
"HTTP_ACCEPT_ENCODING" => "gzip, deflate, sdch"
"HTTP_REFERER" => "http://1.1.1.1/"
"HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
"HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
"HTTP_UPGRADE_INSECURE_REQUESTS" => "1"
"HTTP_CONNECTION" => "keep-alive"
"HTTP_HOST" => "1.1.1.1"
"REDIRECT_STATUS" => "200"
"SERVER_NAME" => "_"
"SERVER_PORT" => "80"
"SERVER_ADDR" => "192.168.1.10"
"REMOTE_PORT" => "65268"
"REMOTE_ADDR" => "1.1.1.1"
"SERVER_SOFTWARE" => "nginx/1.10.0"
"GATEWAY_INTERFACE" => "CGI/1.1"
"REQUEST_SCHEME" => "http"
"SERVER_PROTOCOL" => "HTTP/1.1"
"DOCUMENT_ROOT" => "/home/tom/site/public"
"DOCUMENT_URI" => "/index.php"
"REQUEST_URI" => "/twitch/callback?code=somecode12345&scope=user_read+user_subscriptions&state=somestate121411"
"SCRIPT_NAME" => "/index.php"
"CONTENT_LENGTH" => ""
"CONTENT_TYPE" => ""
"REQUEST_METHOD" => "GET"
"QUERY_STRING" => "code=somecode12345&scope=user_read+user_subscriptions&state=somestate121411"
"SCRIPT_FILENAME" => "/home/tom/site/public/index.php"
"PATH_INFO" => ""
"FCGI_ROLE" => "RESPONDER"
"PHP_SELF" => "/index.php"
"REQUEST_TIME_FLOAT" => 1496424273.7195
"REQUEST_TIME" => 1496424273
]
这是结果,当我更改服务器上实时环境的 url 设置时((.env 文件 twitch 重定向 url + twich api 站点本身)
+server: ServerBag {#42 ▼
#parameters: array:35 [▼
"USER" => "www-data"
"HOME" => "/var/www"
"HTTP_COOKIE" => "sometoken17414115 ▶"
"HTTP_ACCEPT_LANGUAGE" => "en-US,en;q=0.8"
"HTTP_ACCEPT_ENCODING" => "gzip, deflate, sdch"
"HTTP_REFERER" => "http://example.com/"
"HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
"HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
"HTTP_UPGRADE_INSECURE_REQUESTS" => "1"
"HTTP_CONNECTION" => "keep-alive"
"HTTP_HOST" => "example.com"
"REDIRECT_STATUS" => "200"
"SERVER_NAME" => "example.com"
"SERVER_PORT" => "80"
"SERVER_ADDR" => "3.3.3.3"
"REMOTE_PORT" => "51008"
"REMOTE_ADDR" => "9.9.9.9"
"SERVER_SOFTWARE" => "nginx/1.10.0"
"GATEWAY_INTERFACE" => "CGI/1.1"
"REQUEST_SCHEME" => "http"
"SERVER_PROTOCOL" => "HTTP/1.1"
"DOCUMENT_ROOT" => "/var/www/site/public"
"DOCUMENT_URI" => "/index.php"
"REQUEST_URI" => "/twitch/callback?code=somecode12345&scope=user_read+user_subscriptions&state=somestate121411"
"SCRIPT_NAME" => "/index.php"
"CONTENT_LENGTH" => ""
"CONTENT_TYPE" => ""
"REQUEST_METHOD" => "GET"
"QUERY_STRING" => ""
"SCRIPT_FILENAME" => "/var/www/site/public/index.php"
"PATH_INFO" => ""
"FCGI_ROLE" => "RESPONDER"
"PHP_SELF" => ""
"REQUEST_TIME_FLOAT" => 1496425556.5687
"REQUEST_TIME" => 1496425556
]
我可以在这个结果中看到两个不同之处。首先QUERY_STRING 是空的,尽管我得到这个结果的地址看起来像这样:
http://example.com/twitch/callback?code=n60im8s9c7cmvffn705jwzjbtx76ea&scope=user_read+user_subscriptions&state=8AcRvwvRcupj6lrJmYYvM6Q70A9OZEBRIRGXiQxb
PHP_SELF 也是空的,而在我的工作示例中(在虚拟盒子系统上)显示 index.php 作为结果。
我现在几乎被困了 24 小时,即使我找到了这些细节,我仍然无法弄清楚。