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
或类似的东西