J'ai essayé d'écrire la sortie de la commande php -i
vers un fichier en utilisant php -i > info
et a reçu l'erreur suivante :
output is not a tty
Qu'est-ce que cela signifie ?
J'utilise git bash
sur Windows.
J'ai essayé d'écrire la sortie de la commande php -i
vers un fichier en utilisant php -i > info
et a reçu l'erreur suivante :
output is not a tty
Qu'est-ce que cela signifie ?
J'utilise git bash
sur Windows.
J'ai trouvé un sujet similaire à celui-ci. Une solution qui a fonctionné pour moi :
Écrire à
php.exe -i > info
au lieu de
php -i > info
Il suffit donc d'ajouter le .exe
à vos commandes et cela fonctionne.
J'ai trouvé cette solution ici : https://stackoverflow.com/a/44727575/2377961
Si vous utilisez winpty sous le capot, vous devez passer l'attribut -Xallow-non-tty
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
Cependant, si la sortie est tronquée, la fonction -Xplain
sera également nécessaire :
$ winpty -Xallow-non-tty python -c 'print("hello")' | xxd
00000000: 1b5b 306d 1b5b 304b 6865 6c6c 6f1b 5b30 .[0m.[0Khello.[0
00000010: 4b1b 5b3f 3235 6c0d 0a1b 5b30 4b1b 5b3f K.[?25l...[0K.[?
00000020: 3235 68 25h
$ winpty -Xallow-non-tty -Xplain python -c 'print("hello")' | xxd
00000000: 6865 6c6c 6f0d 0a hello..
Je pense que ce problème est plus lié à la façon dont Git Bash gère le piping, et moins à PHP, car j'ai rencontré le même symptôme en utilisant Python sous Windows. Le site réponse actuellement la plus votée ne fonctionne pas pour moi. Cela pourrait fonctionner quelques mois plus tard, en fonction de ce commentaire y un commentaire de suivi . Mais comme je suis impatient, je choisis d'utiliser l'invite de commande native de Windows et, voilà, ç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
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.