Pertanyaan/masalah

Saat saya menjalankan skrip saya (contoh: smslib.php), muncul pesan-pesan kesalahan atau debugging seperti ini:

* Re-using existing connection! (#0) with host www.example.com
Connected to www.example.com (1.2.3.4) port 80
> POST /some/path HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: www.example.com
Accept: */*
Cookie: PHPSESSID=XXXXXXXX;
Content-Length: 69
Content-Type: application/x-www-form-urlencoded
...

ini hanya muncul jika menggunakan server Spanel dan tidak jika menggunakan server bercontrol panel lain seperti cPanel atau Plesk. Mengapa?

Jawaban/solusi

Pesan yang Anda lihat tersebut adalah pesan verbose/debugging dari curl. Pesan-pesan ini dicetak ke stderr (standard error). Karena defaultnya di server Spanel pesan stderr ikut dicetak ke browser (untuk memudahkan debugging), maka Anda akan melihat pesan debugging ini di browser. Sementara di server hosting lain seperti yang menggunakan cPanel, pesan debugging ini akan Anda lihat di error log webserver.

Untuk mematikannya, ada 2 cara:

  • Anda dapat membuat agar pesan stderr tidak ditampilkan ke browser melainkan ke file. Untuk melakukan ini, login ke control panel hosting lalu klik Subdomain manager lalu klik Prefs pada subdomain yang Anda inginkan. Pada bagian SKRIPTING, aktifkan opsi [x] Cetak output stderr skrip ke file.
  • Anda dapat juga mematikan debugging/verbose dari curl. Jika ada baris skrip seperti ini:
curl_setopt(..., CURLOPT_VERBOSE, 1); // atau TRUE

silakan Anda komen atau Anda ganti nilai 1/true menjadi 0/false.