将整个URL传递到php内置服务器中的$ _get变量



我正在运行使用

的内置服务器
php -S 127.0.0.1:80 index.php

我想将整个URI字符串传递到$ _GET数组中的" url"字段。当我输入http://localhost/thisIsAURLString时,我希望var_dump($_GET);返回array(1) { ["url"]=> string(16) "thisIsAURLString" }是否有某种方法可以使用服务器内置的PHP?

Web应用程序通常在具有NGINX的生产环境中运行,并带有配置文件,如下所示。此配置将URL传递到$ _GET变量中的字段" URL",但我想对PHP内置服务器进行类似的操作。

server {
    listen 5001 default_server;
    listen [::]:5001 default_server ipv6only=on;
    root [myRoot];
    index index.php index.html index.htm;
    server_name [myServerName];

    location /uploads {
                try_files $uri $uri/ =404;
        }
        location /assets {
                try_files $uri $uri/ =404;
        }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
        rewrite ^/(.*)$ /index.php?url=$1 last;
    }
    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/php/php7.0-fpm-01.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}

编辑(某些上下文(:

上下文是我和许多学生一起TA。所讨论的Web应用程序目前处于具有NGINX的生产环境中,并且运行顺利,但是我所有的100名学生都需要在自己的计算机上本地下载和部署相同的Web应用程序。我无法更改PHP代码。部署应尽可能简单和平滑,如果他们可以使用一些易于重复可重复的PHP命令来执行此操作,那将是理想的。

您可以使用此脚本引导您的应用程序。将此摘要保存到文件中,并将其设置为您使用的任何Web服务器软件中的入口点。它将产生您要的结果。

<?php
   $root=__dir__;
   $uri=parse_url($_SERVER['REQUEST_URI'])['path'];
   $page=trim($uri,'/');  
   if (file_exists("$root/$page") && is_file("$root/$page")) {
       return false; // serve the requested resource as-is.
       exit;
   }
   $_GET['url']=$page;
   require_once 'index.php';
?>

我不确定您在问什么,但让我开始:

您在说什么"字段"?

您是否要在哪里打印URL?

" php内置服务器"是什么意思?

$ _ get是一种超级全局变量,数组类型,由PHP(服务器端脚本语言(填充。您要做的就是称呼它(例如$ _get ['link'],而链接可能是您想要的任何东西(或类似的东西(请检查http://php.net/manual/manual/en/en/en/ersever.variables.get。PHP(。您可以在任何PHP文件中使用它。

您可能需要查看全局$ _Server数组。其中包含HTTP_HOST,QUERY_STRING,requestrongcheme和request_uri数组键。这些可用于组装完整的URL。尝试var_dump($ _服务器(;查看所有键=>值。

您需要使用$ _GET全局数组吗?

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新