我看到有一个虚拟() PHP 中的函数将调用 CGI 脚本,但这是最好的方法吗?我也可以将任何参数传递给该脚本吗?
我看到了一些使用 的例子file_get_contents()
或 包括()并传入一个 CGI 脚本的 URL,但这感觉就像一个黑客。
最佳答案
使用 exec() 如果你可以在本地调用它。如果它需要作为 CGI 调用(因为脚本被设计为只在 CGI 环境中工作),那么你需要通过 调用它。包括()或 file_get_contents() . 虚拟()将刷新您的缓冲区并附加子请求的输出。
可以通过传递参数包括() , file_get_contents() , 和 虚拟()作为 GET 参数:
http://localhost/cgi-bin/foo?param1=val1¶m2=val2
如果可能,请转到 exec() 路线。使用其他方法可能需要更改配置。
使用时 exec (),您需要像传递任何 CLI 程序一样传递参数。
foo val1 val2
foo param1=val1 param2=val2
您传入参数的方式将取决于您稍后希望如何在其他程序/脚本中解析它们。它们将显示在被调用的程序中,就像您从命令行调用它一样。
关于php - 有没有一种从 PHP 脚本调用 CGI 脚本的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/521120/