J'ai essayé d'écrire la sortie de la commande php -i
dans un fichier en utilisant php -i > info
et j'ai reçu l'erreur suivante:
output is not a tty
Qu'est-ce que ça veut dire?
J'utilise git bash
sur Windows.
J'ai essayé d'écrire la sortie de la commande php -i
dans un fichier en utilisant php -i > info
et j'ai reçu l'erreur suivante:
output is not a tty
Qu'est-ce que ça veut dire?
J'utilise git bash
sur Windows.
Réponses:
Ce qui a fonctionné pour moi, basé sur les commentaires de Peh à stackoverflow.com/questions/33622087
Si vous utilisez C: \ Program Files \ Git \ bin \ bash.exe au lieu de C: \ Program Files \ Git \ git-bash.exe, la commande fonctionne correctement
J'ai trouvé un sujet similaire comme celui-ci. Une solution qui a fonctionné pour moi:
Écrire
php.exe -i > info
au lieu de
php -i > info
Alors, ajoutez l' .exe
extension à vos commandes et cela fonctionne.
Trouvé cette solution ici: /programming//a/44727575/2377961
S'il vous arrive d'utiliser Winpty sous le capot, vous devez passer l' -Xallow-non-tty
argument pour résoudre ce problème:
$ winpty python -c 'print("hello")' | grep h
stdout is not a tty
$ winpty -Xallow-non-tty python -c 'print("hello")' | grep h
hello
node
via conemu
.
Je crois que ce problème concerne davantage la façon dont Git Bash gère la tuyauterie, et moins PHP, car j'ai rencontré le même problème en utilisant Python sous Windows. La réponse actuellement la plus votée ne fonctionne pas pour moi. Cela pourrait fonctionner quelques mois plus tard, sur la base de ce commentaire et d'un commentaire de suivi . Mais je suis impatient alors j'ai choisi d'utiliser l'invite de commande Windows native et, le tour est joué, ça marche!
NE FONCTIONNE PAS dans Git Bash
rayluo@DESKTOP-10B0N4G MINGW64 ~
$ python -c "print('hello world')" > test.txt
stdout is not a tty
Fonctionne dans l'invite de commande
(env27) C:\Users\rayluo>python -c "print('hello world')" > test.txt
(env27) C:\Users\rayluo>type test.txt
hello world
Vous redirigez votre sortie de votre terminal (tty) vers un fichier. Par conséquent, votre sortie n'est plus un tty.
Le message est parfaitement logique. Cependant, cela ne devrait pas être une erreur.
Je ne peux pas reproduire ce comportement sur un système Linux.