PHPにはCGIスクリプトを呼び出すvirtual()関数があるのを見ましたが、それが最善の方法ですか?そのスクリプトにもパラメータを渡すことはできますか?
file_get_contents()
またはinclude()を使用してCGIスクリプトのURLを渡す例をいくつか見ましたが、それはハックのように感じます。
ローカルで呼び出すことができる場合は、exec()を使用します。CGI として呼び出す必要がある場合 (スクリプトは CGI 環境内でのみ動作するように設計されているため)、 include()またはfile_get_contents()を介して呼び出す必要があります。virtual()はバッファをフラッシュし、サブリクエストの出力を追加します。
include()、file_get_contents()、およびvirtual()を介してパラメーターを GET パラメーターとして渡すことができます。
http://localhost/cgi-bin/foo?param1=val1¶m2=val2
可能であれば、exec()ルートに進みます。他の方法を使用すると、構成の変更が必要になる場合があります。
exec ()を使用する場合、CLI プログラムと同様に引数を渡す必要があります。
foo val1 val2
foo param1=val1 param2=val2
パラメーターを渡す方法は、後で他のプログラム/スクリプトでパラメーターを解析する方法によって異なります。コマンドラインから呼び出した場合と同様に、呼び出されたプログラムに表示されます。
PHPページからCGIスクリプトを呼び出すのにも問題がありました。後で、ページ ファイルに .php サフィックスではなく .html サフィックスが付いていることが問題であることに気付きました。それを修正すると、スクリプトが機能するようになりました。これはおそらくあなたの問題ではありませんが、念のため言及したいと思います。