2

我看到 PHP 中有一个virtual()函数会调用 CGI 脚本,但这是最好的方法吗?我也可以将任何参数传递给该脚本吗?

我看到了一些使用file_get_contents()or include()并传入 CGI 脚本的 URL 的示例,但这感觉就像是 hack。

4

2 回答 2

4

如果可以在本地调用它,请使用exec() 。如果它需要作为 CGI 调用(因为脚本被设计为仅在 CGI 环境中工作),那么您需要通过include()file_get_contents()调用它。virtual()将刷新您的缓冲区并附加子请求的输出。

您可以通过include()file_get_contents()virtual()将参数作为 GET 参数传递:

http://localhost/cgi-bin/foo?param1=val1&param2=val2

如果可能,请走exec()路线。使用其他方法可能需要更改配置。

使用exec () 时,您需要像传递任何 CLI 程序一样传递参数。

foo val1 val2
foo param1=val1 param2=val2

您如何传递参数将取决于您稍后在其他程序/脚本中如何解析它们。它们会出现在被调用的程序中,就像你从命令行调用它一样。

于 2009-02-06T17:32:40.763 回答
0

我也无法从我的 php 页面调用 CGI 脚本。后来我意识到问题在于我的页面文件具有 .html 后缀,而不是 .php 后缀。修复该问题使我的脚本可以为我工作。这可能不是你的问题,但我想我会提到它以防万一。

于 2012-03-07T08:52:12.113 回答