微型网络-can';t获取php.exe以返回数据
我无法使用php.exe生成网页并学习php。我遵循了这一原则,并完全理解Tiny web只使用写入标准输出的控制台应用程序。我正在使用带有ChromePortable的windows,因为IE的“安全功能”旨在阻止此类活动 要使Tiny Web正常工作,cgi bin文件夹中的脚本必须与可执行文件正确关联,并且扩展应存在于PATHEXT环境变量中。Tiny Web从windows注册表读取文件关联以执行脚本。没有用于Tiny web的配置文件。可执行文件必须是控制台程序,而不是GUI应用程序。一些可执行文件需要选项来加载脚本文件,我倾向于使用批处理文件来按顺序获取参数 e、 g.呆呆的微型网络-can';t获取php.exe以返回数据,php,windows,batch-file,cmd,localhost,Php,Windows,Batch File,Cmd,Localhost,我无法使用php.exe生成网页并学习php。我遵循了这一原则,并完全理解Tiny web只使用写入标准输出的控制台应用程序。我正在使用带有ChromePortable的windows,因为IE的“安全功能”旨在阻止此类活动 要使Tiny Web正常工作,cgi bin文件夹中的脚本必须与可执行文件正确关联,并且扩展应存在于PATHEXT环境变量中。Tiny Web从windows注册表读取文件关联以执行脚本。没有用于Tiny web的配置文件。可执行文件必须是控制台程序,而不是GUI应用程序。
:Change to current batch file location - with gawk.exe
cd /D "%~dp0"
:Run
gawk.exe -f "%1" %~2
这将运行my“”并生成动态网页。如果php脚本与批处理文件关联,我假设php.exe将以类似的方式工作:
e、 g.php.bat
:Change to current batch file location - with php.exe
cd /D "%~dp0"
:Run
php.exe -f "%1" -- %~2
我的test.php脚本包含:
<?php echo "Content-Type: text/plain\n\n";?>
<?php echo "Hello World - from PHP";?>
但是,这给了我一个错误:“CGI script/CGI bin/test.php没有返回任何内容”,尽管它在DOS命令提示符下运行得非常好!我尝试使用php-cgi.exe“%1”运行.php,这会产生相同的服务器错误,并且在命令行中预先添加一个头,然后按预期打印
我不想(没有权限)安装ISS或任何其他软件。讽刺的是,我正在努力用Tiny web运行php cgi脚本,但却可以用COMSPEC、LUA51.EXE、GSLSHELL.EXE、CSCRIPT.EXE、GAWK.EXE甚至SQLITE3.EXE生成动态页面
问题1。我是不是弄错了test.php
问题2。我应该如何处理php文件,通过标准输出将结果返回到Tiny web
第三季度。为了使其可移植,我希望为Tiny.exe周围的环境创建临时文件关联。如果我有管理员权限,我会在run.bat中使用assoc和ftype来启动Tiny web。在您的工作场所,windows的子管理员世界中有任何线索吗
提前感谢。如果您分析TinyWeb源代码,它会以/cgi-bin/以下方式运行脚本: 如果扩展名为.EXE,它将直接运行,否则,它将使用Windows Win32 API调用FindExecutable查找此类文件扩展名的可执行文件: 然后,如果找到此文件扩展名的.exe可执行文件,它将与此可执行文件一起运行,并将脚本路径作为第一个命令行参数传递 若要检查是否存在与脚本扩展相关联的可执行文件,请在cgi bin文件夹中运行cmd.exe,并从命令行键入脚本名称,它应向屏幕提供输出。我的Windows机器上没有安装PHP,但我有Perl,如果我键入myscript.pl,它会向屏幕提供输出,因此它确认FindExecutable()找到了它。另外,当我键入perl.exe myscript.pl时,它也会生成正确的输出–TinyWeb就是这样运行的。运行cmd.exe并键入test.php时会发生什么情况?它是否打印所需的输出?顺便说一下,我没有听说有人能够用PHP运行TinyWeb。但是,如果您从命令行键入test.php,并且php.exe test.php工作,TinyWeb将能够运行您的php脚本