Saya mencoba menulis output dari perintah php -i
ke file menggunakan php -i > info
dan menerima kesalahan berikut:
output is not a tty
Apa artinya?
Saya menggunakan git bash
Windows.
Saya mencoba menulis output dari perintah php -i
ke file menggunakan php -i > info
dan menerima kesalahan berikut:
output is not a tty
Apa artinya?
Saya menggunakan git bash
Windows.
Jawaban:
Apa yang berhasil untuk saya, berdasarkan komentar Peh ke stackoverflow.com/questions/33622087
Jika Anda menggunakan C: \ Program Files \ Git \ bin \ bash.exe alih-alih C: \ Program Files \ Git \ git-bash.exe maka perintah tersebut berfungsi dengan baik
Saya menemukan topik serupa seperti ini. Satu Solusi yang bekerja untuk saya:
Menulis
php.exe -i > info
dari pada
php -i > info
Jadi, Anda harus menambahkan .exe
ekstensi ke perintah Anda dan itu berfungsi.
Temukan solusi ini di sini: /programming//a/44727575/2377961
Jika Anda kebetulan menggunakan winpty di bawah tenda, Anda harus melewati -Xallow-non-tty
argumen untuk memperbaikinya:
$ winpty python -c 'print("hello")' | grep h
stdout is not a tty
$ winpty -Xallow-non-tty python -c 'print("hello")' | grep h
hello
node
melalui conemu
.
Saya percaya masalah ini lebih tentang bagaimana Git Bash menangani perpipaan, dan lebih sedikit tentang PHP, karena saya mengalami gejala yang sama menggunakan Python di Windows. Jawaban yang paling banyak dipilih saat ini tidak berfungsi untuk saya. Mungkin bekerja beberapa bulan kemudian, berdasarkan komentar ini dan komentar tindak lanjut . Tapi saya tidak sabar jadi saya memilih untuk menggunakan Prompt Windows Command asli dan, voila, berhasil!
JANGAN BEKERJA di Git Bash
rayluo@DESKTOP-10B0N4G MINGW64 ~
$ python -c "print('hello world')" > test.txt
stdout is not a tty
BEKERJA di Command Prompt
(env27) C:\Users\rayluo>python -c "print('hello world')" > test.txt
(env27) C:\Users\rayluo>type test.txt
hello world
Anda mengarahkan output Anda dari terminal Anda (tty) ke file. Karena itu output Anda tidak lagi tty.
Pesan itu masuk akal. Namun ini seharusnya tidak menjadi kesalahan.
Saya tidak dapat mereproduksi perilaku ini pada sistem linux.