8

開発環境(symfony2アプリケーション)をWindows 7 localhostから、vagrantとデフォルトのubuntu10.0464ビットマシンを使用して仮想マシンに移動しようとしています。すべてがセットアップされ、ほぼ機能しますが、気になることが1つあります。

antを実行してphpunitを実行すると、自作のブートストラップの実行中に次のエラーが発生します。

stty: standard input: Invalid argument

問題を次のコード行に絞り込むことができます。このコードは、symfony cache:warmupコマンドを実行します。

executeCommand($application, "cache:warmup");

これにより、次のコマンドが実行されます。

php app/console -e test -q cache:warmup

antなしでphpunitを実行すると正常に動作するため、executeCommand行なしでantを実行しても正常に動作します。

私はこのsttyエラーについて少し読んで、、、、を調べましたが~/.bashrc、ttyやsttyのようなものは見つかりませんでした。だから私はそれを機能させるために何を削除できるかわかりません。~./profile/etc/bash.bashrc/etc/profile/root/.bashrc/root/.profile

キャッシュのウォームアップが必要で、何が問題になっているのか理解できないため、少し行き詰まっています。

4

1 に答える 1

1

これを理解するのに少し時間がかかりましたが、私は今それを理解しました。

何らかの理由で、オプションがsymfony2アプリケーションオブジェクトに渡され、antによって実行された場合にのみ問題が発生します。原因についての洞察はありませんが、コマンドをこれに変更すると問題が修正されます。

php app/console --env=test --quiet cache:warmup

長い形で何も変わらないのでとても嬉しいです。私のexecuteCommand関数全体は次のようになります。

function executeCommand($application, $command, Array $options = array()) {
    $options["--env"] = "test";
    $options["--quiet"] = true;
    $options = array_merge($options, array('command' => $command));

    $application->run(new ArrayInput($options));
}

行の変更は、配列のキーがとから変更された2と3のみ-eです-q。これがこのような問題に苦しんでいる人の助けになることを願っています!

于 2012-06-04T20:29:47.240 に答える