PHPがパラメータをバックグラウンドスクリプトに渡す

ThomasLC

私はインターネットでかなり長い間探していましたが、私の問題の解決策を見つけることができません。私はPHPにかなり慣れていないので、バックグラウンドでphpスクリプトを実行するのに問題があります。

基本的に、私はJQuery ajaxからPOSTデータを取得し、各変数でescapeshellarg()を使用して長い文字列に入れ、スペースで区切り、exec()またはshell_exec()関数を使用してバックグラウンドで処理するスクリプトを呼び出します(私は成功せずに両方を試しました...)。

$arg_list  = escapeshellarg($str_solution)." ";
$arg_list .= escapeshellarg($str_rubriques)." ";
$arg_list .= escapeshellarg($intervalle)." ";
$arg_list .= escapeshellarg($date_start)." ";
$arg_list .= escapeshellarg($date_end)." ";
$arg_list .= escapeshellarg($_SESSION['user_id'])." ";
$arg_list .= escapeshellarg($_SESSION['user_name']);

//BACKGROUND EXECUTION
$output = shell_exec("/opt/plesk/php/5.6/bin/php-cgi -q script_rapports_intervalle.php ".$arg_list." &");
print_r($output);

script_rapports_intervalle.phpファイルで、私は次のことを行います。

print_r($argv);
print_r("here i am");
die;

//HERE GOES THE SCRIPT
//....

「hereiam」文字列のみが表示されるため、このスクリプトから応答があります。$ argvでvar_dump()を使用すると、NULLと表示されます。「foo」や「bar」のような単純な引数も渡そうとしましたが、$ argvは常にNULLに等しいようです。

さらに、バックグラウンドスクリプトを処理するための多くの使用法を見ました:コマンドの最後に「&」を置くか、代わりに「| atnow」を置きます。どちらを使うべきですか?

私は確かに間違ったやり方をしていると思いますが、それでも問題を解決する場所がわかりません。

トーク

私にとって、この単純なコードは機能します

  $params = array("function_name" => 'image_detect',"image_guid" => $image_guid);

  $query_string = http_build_query($params, "", " ");
 if (PHP_OS === "WINNT") {
    pclose(popen("start /B php " . $script_location . " " . $query_string, "r"));
 } else {
    exec("/opt/plesk/php/5.6/bin/php " . $script_location . " " . $query_string . " &> /dev/null &");
 }

したがって、あなたの場合は、/ opt / plesk / php / 5.6 / bin / php- cgiを/opt/plesk/php/5.6/bin/phpに置き換えることで確認できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Uwpのバックグラウンドタスクにパラメーターまたは引数を渡す

分類Dev

phpバックグラウンドスレッドスクリプトにデータを送信する

分類Dev

HTMLURLパラメータをPHPスクリプトに渡す

分類Dev

スクリプト自体を使用してスクリプトをバックグラウンドに渡す

分類Dev

WindowsバッチスクリプトからPowerShellスクリプトにパラメーターを渡す

分類Dev

Azure MobileServicesクライアントがパラメーターを.NETバックエンドに渡す

分類Dev

パブリックメンバー関数ポインターをコンストラクターに渡す

分類Dev

コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

分類Dev

アプリがバックグラウンドにあるときにバックグラウンドサービスからポップアップするアラートメッセージを表示する方法

分類Dev

バックエンドからレンダリングされたパラメーターをangular2ブートストラップメソッドに渡す方法

分類Dev

バックグラウンドでフラグメントをクリックすると、バックスタック数が増加します

分類Dev

バックグラウンドで実行されるインタラクティブスクリプトに引数を渡す

分類Dev

バックグラウンドで実行されるインタラクティブスクリプトに引数を渡す

分類Dev

コマンドラインからPHPクラスおよび関数スクリプトにパラメーターを渡す

分類Dev

パラメータをスクリプトタグに渡す方法は?

分類Dev

バックグラウンドタスクでメンバー名のリストを取得する

分類Dev

コマンドラインを介してSQLスクリプトにパラメーターを渡す方法

分類Dev

PHPを介してPythonスクリプトにパラメータを渡す

分類Dev

PHPスクリプトをバックグラウンドで実行する

分類Dev

SparkInsertスクリプトにパラメーターを渡す

分類Dev

ダウンロード ストリーム プロジェクトにランタイム パラメータ値を渡す方法は?

分類Dev

非同期バックグラウンド タスクからメイン スレッドの非同期メソッドに例外を渡す必要があります。

分類Dev

ANTコマンドラインパラメーターをカスタムプラグインのオーバーライドXSLTスクリプトに渡すためにDITA-OTで必要な手順は何ですか

分類Dev

NAntビルドスクリプトにパラメーターを渡す

分類Dev

コマンドラインパラメータをuwsgiスクリプトに渡す

分類Dev

パラメータをrubyコマンドラインスクリプトに渡す方法

分類Dev

ドロップダウンリストの値をパラメーターとして関数に渡す方法

分類Dev

次のページにパラメータを渡すASP.NETドロップダウンリスト

分類Dev

postgresのSQLスクリプトにカウンタパラメータを渡します

Related 関連記事

  1. 1

    Uwpのバックグラウンドタスクにパラメーターまたは引数を渡す

  2. 2

    phpバックグラウンドスレッドスクリプトにデータを送信する

  3. 3

    HTMLURLパラメータをPHPスクリプトに渡す

  4. 4

    スクリプト自体を使用してスクリプトをバックグラウンドに渡す

  5. 5

    WindowsバッチスクリプトからPowerShellスクリプトにパラメーターを渡す

  6. 6

    Azure MobileServicesクライアントがパラメーターを.NETバックエンドに渡す

  7. 7

    パブリックメンバー関数ポインターをコンストラクターに渡す

  8. 8

    コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

  9. 9

    アプリがバックグラウンドにあるときにバックグラウンドサービスからポップアップするアラートメッセージを表示する方法

  10. 10

    バックエンドからレンダリングされたパラメーターをangular2ブートストラップメソッドに渡す方法

  11. 11

    バックグラウンドでフラグメントをクリックすると、バックスタック数が増加します

  12. 12

    バックグラウンドで実行されるインタラクティブスクリプトに引数を渡す

  13. 13

    バックグラウンドで実行されるインタラクティブスクリプトに引数を渡す

  14. 14

    コマンドラインからPHPクラスおよび関数スクリプトにパラメーターを渡す

  15. 15

    パラメータをスクリプトタグに渡す方法は?

  16. 16

    バックグラウンドタスクでメンバー名のリストを取得する

  17. 17

    コマンドラインを介してSQLスクリプトにパラメーターを渡す方法

  18. 18

    PHPを介してPythonスクリプトにパラメータを渡す

  19. 19

    PHPスクリプトをバックグラウンドで実行する

  20. 20

    SparkInsertスクリプトにパラメーターを渡す

  21. 21

    ダウンロード ストリーム プロジェクトにランタイム パラメータ値を渡す方法は?

  22. 22

    非同期バックグラウンド タスクからメイン スレッドの非同期メソッドに例外を渡す必要があります。

  23. 23

    ANTコマンドラインパラメーターをカスタムプラグインのオーバーライドXSLTスクリプトに渡すためにDITA-OTで必要な手順は何ですか

  24. 24

    NAntビルドスクリプトにパラメーターを渡す

  25. 25

    コマンドラインパラメータをuwsgiスクリプトに渡す

  26. 26

    パラメータをrubyコマンドラインスクリプトに渡す方法

  27. 27

    ドロップダウンリストの値をパラメーターとして関数に渡す方法

  28. 28

    次のページにパラメータを渡すASP.NETドロップダウンリスト

  29. 29

    postgresのSQLスクリプトにカウンタパラメータを渡します

ホットタグ

アーカイブ