Php 试图完全理解我接管的一个项目的小批量文件';他以前的程序员

Php 试图完全理解我接管的一个项目的小批量文件';他以前的程序员,php,Php,好的,我已经接管了这个项目,我需要帮助理解批处理文件,同时稍微重写它。批处理文件仅包含以下三行: @echo off start php/php.exe -S 127.0.0.1:80 -t drawtool start "" http://127.0.0.1 我理解第一行,它基本上从视图中隐藏了命令提示符。 我可能不完全理解最后一行,但我猜它会启动我的默认浏览器并打开localhost地址 然而,第二行,我不知道-S或-t是什么。通常我会用谷歌搜索这个,但我已经试了好几个小时了。我根本找不到

好的,我已经接管了这个项目,我需要帮助理解批处理文件,同时稍微重写它。批处理文件仅包含以下三行:

@echo off
start php/php.exe -S 127.0.0.1:80 -t drawtool
start "" http://127.0.0.1
我理解第一行,它基本上从视图中隐藏了命令提示符。 我可能不完全理解最后一行,但我猜它会启动我的默认浏览器并打开localhost地址

然而,第二行,我不知道-S或-t是什么。通常我会用谷歌搜索这个,但我已经试了好几个小时了。我根本找不到关于这些字母后面的破折号命令的任何信息

关于第二行,我不明白的另一件事是为什么“drawtool”这个词写在末尾

我将尝试详细说明批处理文件与之交互的项目目录树。它从一个名为InputTool的文件夹开始。InputTool包含几个子目录,我将在下面解释:

InputTool (parent folder #1)
    DrawTool (folder)
        index.php

    php (folder)
        php.exe (executable file, I'll get back on this)
        additional ddl- & configuration-files

    start.bat (this is the batch file that I have trouble understanding)
我想做的是将php文件夹&批处理文件移出它们的父文件夹(向上一级)。因此,它们现在与InputTool文件夹位于同一目录中。我希望批处理文件在这之后仍能正常工作,同时还要了解第二行的结构是如何工作的

是的,正如您所猜测的,这会在命令提示符下隐藏命令

start php/php.exe -S 127.0.0.1:80 -t drawtool
此行启动PHP,它是文件夹
PHP
中的可执行文件
PHP.exe
。它将在本地主机端口80上启动一个PHP web服务器(选项
-S
)。 根据选项
-t
指定内置web服务器的文档根目录。因此,它将在这个文件夹(drawtool)中执行脚本(aka index.php)

最后,这将打开服务器地址的默认导航器

因此,基本上,为了回答您的第二个问题,因为这里的所有路径都是相对的,只要
php.exe
start.bat
保持在相同的位置,或者您正确编辑了路径,批处理文件就应该仍然工作。

@echo off

是的,正如您所猜测的,这会在命令提示符下隐藏命令

start php/php.exe -S 127.0.0.1:80 -t drawtool
此行启动PHP,它是文件夹
PHP
中的可执行文件
PHP.exe
。它将在本地主机端口80上启动一个PHP web服务器(选项
-S
)。 根据选项
-t
指定内置web服务器的文档根目录。因此,它将在这个文件夹(drawtool)中执行脚本(aka index.php)

最后,这将打开服务器地址的默认导航器


因此,基本上,为了回答第二个问题,因为这里的所有路径都是相对的,只要
php.exe
相对于
start.bat
保持在相同的位置,或者如果您正确编辑了路径,批处理文件就应该仍然工作。

您可以在cmd提示符下键入
php.exe-h
,以获得有关这些开关含义的帮助。我的GoogleFoo必须更强大。我从不使用PHP,我所做的只是谷歌搜索,这是谷歌找到的第三个链接。我一直认为-S&-t是批处理命令而不是PHP命令,因为我是在批处理文件中编写的。所以我所有的搜索都包含了“批次”这个词。我知道这与错误信息有关,但在你将我链接到一个php网站之前,很难确定这是怎么回事。谢谢可执行文件后面的任何命令行参数始终是该可执行文件的参数。如果您查看了
START
命令的帮助文件,您可能会发现
-S
-t
不是
START
命令的选项。更不用说
START
命令使用
/
作为其参数。因此,在所有条件相同的情况下,它们是
PHP.exe
的参数。您可以在cmd提示符下键入
php.exe-h
,以获得有关这些开关含义的帮助。我的GoogleFoo必须更强大。我从不使用PHP,我所做的只是谷歌搜索,这是谷歌找到的第三个链接。我一直认为-S&-t是批处理命令而不是PHP命令,因为我是在批处理文件中编写的。所以我所有的搜索都包含了“批次”这个词。我知道这与错误信息有关,但在你将我链接到一个php网站之前,很难确定这是怎么回事。谢谢可执行文件后面的任何命令行参数始终是该可执行文件的参数。如果您查看了
START
命令的帮助文件,您可能会发现
-S
-t
不是
START
命令的选项。更不用说
START
命令使用
/
作为其参数。因此,在所有条件相同的情况下,它们是
PHP.exe
的参数。Occam的剃须刀。我什么都没有改变,我只把批处理文件和php文件夹提高了一级,现在它不再工作了。要么PHP服务器无法启动,要么网页无法加载,要么两者都无法加载(症状不一致)。但是如果我将它们移回父文件夹,一切都会恢复正常。您必须将
drawtool
文件夹也上移一级,或者在命令中更改文档根目录的路径。因此,如果我理解正确,它会给出:
start php/php.exe-S 127.0.0.1:80-t InputTool\drawtool
或类似的东西。我没有做任何更改,我只将批处理文件和php文件夹提高了一级,现在它不再工作了。要么PHP服务器无法启动,要么网页无法加载,要么两者都无法加载(症状不一致)。但是如果我将它们移回父文件夹,一切都会恢复正常。您必须将
drawtool
文件夹也上移一级,或者在命令中更改文档根目录的路径。因此,如果我理解正确,它会给出:
start php/php.exe-S 127.0.0.1:80-t InputTool\drawtool
或类似的东西