我正在尝试使用vagrant和默认的ubuntu 10.04 64位计算机将我的开发环境(symfony2应用程序)从我的
Windows 7 localhost移动到虚拟机.一切都已建立,几乎可以运作,但有一件事困扰着我:
当我运行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,〜./ profile,/ etc / bash.bashrc,/ etc / profile以及/root/.bashrc和/root/.profile没有找到类似的东西tty或stty.所以我不知道我可以删除什么使其工作.
我有点卡住,因为我需要缓存预热,无法弄清楚出了什么问题.
这需要一段时间来弄清楚,但我现在明白了.
由于某种原因,传递给symfony2应用程序对象的选项仅在由ant运行时才会导致问题.@H_301_24@我对导致它的原因没有任何见解,但将命令更改为可解决此问题:
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,其中数组的键从-eand -q更改.我希望这可以帮助一个或那个与这样的问题斗争的人!