我正在运行一个 PHP 内置服务器
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;
}
}
编辑(一些上下文):
背景是我是一个有很多学生的助教。有问题的 Web 应用程序目前在带有 nginx 的生产环境中并且运行顺利,但是我所有的大约 100 名学生都需要在他们自己的计算机上本地下载和部署相同的 Web 应用程序。我无法更改 PHP 代码。部署应该尽可能简单和顺利,如果他们可以使用一些易于重现的 php 命令来做到这一点,那将是理想的。