ブラウザーからのクエリ/GET データで正しく実行される PHP ルーチンがあり、バックグラウンドで実行できるように、起動後にブラウザーから切断したいと考えています。ファイルをディスクに書き込み、リンクをユーザーに電子メールで送信するため、ブラウザーは不要になります。
ブラウザが立ち上げたiframeのパスはこんな感じ
src="tool/scan.php?types=All&order=Newest&email=test@example.com"
iframe ターゲットを、すべてを主力ファイルに渡す仲介者に置き換えscan.php
ます。
をexec()
使用できることは理解していますが、どうやらコマンド ラインをフォーマットする方法を正確に理解していないようで、これまでに見つけたリソースに困惑しています。
$_SERVER["DOCUMENT_ROOT"] を渡してみました。パス/ファイル名 . $_SERVER['QUERY_STRING'] 逐語的に、しかしそれはうまくいかないようです (エコーは以下の引用符で値を示します):
exec("/var/www/vhosts/example.com/httpdocs/tool/scan.php?types=All&order=Newest&email=test@example.com");
それで、コマンドラインがブラウザのパラメーターと異なるのだろうかと思ってこれを試してみましたが、それもそうではありません
exec("/var/www/vhosts/example.com/httpdocs/tool/scan.php types=All order=Newest email=test@example.com");
誰かがポインターを提供できる場合は、正しい方向へのヒントが必要です。私はあまり PHP の知識がなく、本もよく読んでいませんが、いくつかの適切なヒントを参考にすれば、たいていの障害を回避することができます。ありがとう...