php
  • batch-file
  • 2011-11-26 6 views -4 likes 
    -4

    Unixシステムでうまく動作するこのPHPスクリプトをWindows用のスクリプトに変換したいと思います。UnixベースのPHPスクリプトをWindows用のバッチファイルに変換する

    書き換え方法がわかりません。誰か助けてくれますか?ここで

    はスクリプトです:

    $cmd = 'nohup sudo -u '.$user.' bash -c "cd ' . 
    escapeshellarg($path) . '; VVERBOSE=true QUEUE=' . 
    escapeshellarg($queue) . ' APP_INCLUDE=' . 
    escapeshellarg($bootstrap_path) . ' INTERVAL=' . 
    escapeshellarg($interval) . ' CAKE=' . 
    escapeshellarg(CAKE) . ' COUNT=' . $count . 
    ' php ./resque.php'; 
    $cmd .= ' > '. escapeshellarg($log_path).' 2>&1" >/dev/null 2>&1 &'; 
    
    passthru($cmd); 
    
    +6

    これはbashスクリプトではありません! perlやPHPのように見えます。 –

    +1

    また、私たちにあなたのスクリプトを解読しようとするのではなく、あなたが何をしたいのか(今まで自分で解決しようとしてきたこと)を説明することが、より良いアイデアです。 –

    答えて

    2

    パススルーはhttp://php.net/manual/en/function.passthru.php

    は、スクリプトが何をするか知っていますかPHPでの方法を参照され?たぶんWindowsのバッチスクリプトにリバースエンジニアリング?

    • は、別のユーザー
    • 変更カレントディレクトリ
    • 呼び出し
    • セット環境変数としてコマンドを実行します。その様子から

      は、スクリプトは* nixのシステム、それから来ましたPHPインタプリタから直接PHPスクリプトを実行し、ログをファイルにダンプし、stderrsを/ dev/nullにパイプします。

    そのスクリプトは、Windowsのバッチスクリプト(Windows!= POSIX以降)に "変換"することは不可能です。あなたはそれを書き直す必要があります。

    +0

    ありがとうございます。このPHPスクリプトは、UNIXシステム上でsudo、bashなどのコマンドを使用する理由で使用されています...書き直したいのですが、どうやってやるのか分からず、助けてくれますか?方法を学びます?ありがとう –

    +0

    まず、移植できないコマンドはnohup(?)とWindowsのsudoだけです。残りは比較的容易でなければなりません。 - cd(linux)、cd(windows) - http://support.microsoft.com/kb/110930 stdoutとerrをリダイレクトする - 変数を設定するためにset(windows)。 なぜそれをウィンドウに変換する必要がありますか? – Bill

    +0

    私は窓のローカルで働いているので。私はちょうどそれがcygwinで動作するようにしようと、私は "nohup sudo"を削除しましたが、それでもエラーが残っている。 VERBOSE = true QUEUE = "default" APP_INCLUDE = "D:\ WebServer \ www \ MyProject \ app \ Plugin \ Resque \ Vendor \ php-resque \"; VVERBOSE = true QUEUE = "デフォルト" \ WebServer \ www \ MyProject \ app \ Plugin \ Resque \ Lib \ ResqueBootstrap.php "INTERVAL =" 5 "CAKE =" D:\ WebServer \ www \ MyProject \ lib \ Cake \ "COUNT = 1 php ./resque.php > "D:\ WebServer \ www \ MyProject \ app \ tmp \ logs \ php-resque-worker.log" 2>&1 ">/dev/null 2>&1& –

    関連する問題