2012-05-28 7 views
8

Sto provando a spostare il mio ambiente di sviluppo (applicazione symfony2) dal mio windows 7 localhost a una macchina virtuale usando vagrant e la macchina ubuntu 10.04 a 64 bit predefinita. Tutto è impostato e quasi funziona, ma c'è una cosa che mi dà fastidio:symfony2 application, vagrant & ant: stty: input standard: argomento non valido

Quando eseguo formica e esegue PHPUnit, ottengo il seguente errore durante l'esecuzione il mio bootstrap selfmade:

stty: standard input: Invalid argument 

ho potuto limitare il problema alla seguente riga di codice che esegue la cache symfony: comando riscaldamento:

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

Questo esegue il seguente comando:

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

L'esecuzione di phpunit senza formica funziona bene, quindi esegue ant senza la riga executeCommand.

ho letto un po 'su questo errore stty e alzò lo sguardo ~/.bashrc, ~./profile, /etc/bash.bashrc, /etc/profile così come /root/.bashrc e /root/.profile senza trovare nulla di simile tty o stty. Quindi non so cosa potrei cancellare per farlo funzionare.

Sono un po 'bloccato perché ho bisogno del riscaldamento della cache e non riesco a capire cosa sta andando storto.

risposta

1

Ci è voluto un po 'per capire, ma ora ce l'ho.

Per qualche motivo, le opzioni passate all'oggetto dell'applicazione symfony2 causano il problema solo quando vengono eseguite da ant. Non ho alcuna comprensione su ciò che provoca, ma cambiando il comando per questo risolve il problema:

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

Poiché questa è solo la forma lunga e non cambia nulla, sono molto contento. La mia funzione tutta ExecuteCommand assomiglia a questo:

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)); 
} 

Le uniche linee cambiamenti sono 2 e 3 in cui la chiave per l'array è stato cambiato da -e e -q. Spero che questo aiuti l'uno o l'altro a combattere un problema come questo!