Bagaimana Anda menampilkan output php ke konsol phpstorm?

Setelah debugger (xdebug) diaktifkan di phpstorm, Anda kemudian dapat menjalankan skrip php Anda (tanpa debugging) dari dalam phpstorm.

Bagaimana Anda melihat output skrip di konsol phpstorms?

Saya ingin melihat keluaran php sebelum dibaca oleh browser - pada dasarnya apa yang akan Anda lihat jika Anda mengklik "lihat sumber" di browser.

Berikut adalah video pengembang jetbrains. melakukan ini (2 menit: 05 detik dalam video) - dia tidak menjelaskan BAGAIMANA mengkonfigurasi phpstorm untuk melakukannya.


person Michael Coleman    schedule 17.07.2014    source sumber
comment
Saya tidak melihat apa pun tentang HTML pada 2:05 di video itu   -  person LazyOne    schedule 17.07.2014
comment
dicatat, saya telah memperbarui pertanyaan, terima kasih   -  person Michael Coleman    schedule 17.07.2014


Jawaban (2)


Saat ini tidak ada opsi seperti itu di PhpStorm: untuk menampilkan buffer server web (apa yang dikirim ke browser) saat melakukan debug halaman web (catatan: ini HANYA berfungsi saat melakukan debug).

Opsi seperti itu memang ada dalam jangka waktu yang sangat singkat sekitar 4 tahun yang lalu (tab Script Output terpisah di jendela alat debugger: http://youtrack.jetbrains.com/issue/WI-2826 ).. tetapi memiliki beberapa masalah dan telah dihapus hingga diterapkan dengan benar.

http://youtrack.jetbrains.com/issue/WI-18214 --> http://youtrack.jetbrains.com/issue/WI-4466


Pada video itu, terutama sekitar 2:05 seperti yang Anda sarankan, skrip CLI biasa dijalankan (Konfigurasi Run/Debug tipe PHP Script digunakan) dan oleh karena itu SEMUA keluaran tersebut dapat ditangkap dengan mudah (keluaran std standar ).

Dengan CLI scipt itu mudah -- IDE adalah induknya di sini (dialah yang memulai eksekusi skrip) sehingga keluaran std dapat dengan mudah dikumpulkan. Jika Anda menjalankan skrip laman web di lingkungan CLI, Anda akan mendapatkan HTML dalam keluaran konsol normal.

Dengan halaman web cara kerjanya berbeda (seluruh proses): keluaran skrip pertama kali dikirim ke server web (induk) yang kemudian mengirimkannya ke browser. Karena IDE tidak secara langsung berpartisipasi dalam eksekusi skrip, intersepsi tersebut hanya dapat terjadi selama proses debug di mana debugger dapat mengirim salinan keluaran skrip yang dikumpulkan kembali ke IDE.

person LazyOne    schedule 17.07.2014
comment
Begitu, terima kasih, jadi output dari interpreter php bukan output akhir yang dikirim ke browser? Output php pertama kali dikirim ke server web. (dalam hal ini apache) yang kemudian menghasilkan output yang dikirim ke browser? . - person Michael Coleman; 18.07.2014
comment
Benar. Saat itulah kompresi on-the-fly terjadi, dll. - person LazyOne; 18.07.2014
comment
terima kasih. terselesaikan. Saya akan memilih tetapi saya tidak memiliki poin reputasi yang cukup! - person Michael Coleman; 18.07.2014

Sebagian besar kerangka web mem-buffer keluaran sebelum mengirimkan hasilnya ke server web. Untuk melihat isi buffer ini, pertama-tama masukkan breakpoint di lokasi yang diinginkan, kemudian ketika breakpoint tercapai, buka tab Debug=>Console dan jalankan fungsi ob_get_contents(). Buffer keluaran PHP mendukung level bertingkat, jadi ingatlah hal ini saat memilih breakpoint Anda. Tentunya jika CMS/framework tidak menggunakan output buffering maka cara ini tidak berlaku.

person ttk    schedule 13.06.2019