WP-CLI Error Call to Undefined Function Getallheaders

Mengatasi Error “Call to undefined function getallheaders” Pada WP-CLI – wp-cli adalah tool yang sangat berguna untuk menjalankan tugas-tugas memanajemen situs WordPress dengan menggunakan baris perintah (misalnya lewat terminal SSH atau sejenisnya).

Namun jika situs WordPress berisi plugin atau kode inisialisasi tema yang memanggil metode PHP getallheaders maka wp-cli tidak akan berfungsi secara normal. Kondisi seperti ini malah akan menampilkan kesalahan berikut sebagai respons terhadap setiap perintah yang di hasilkan dari wp-cli.

wp-cli-error-call-to-undefined-function-getallheaders

Fatal error: Call to undefined function getallheaders()

Informasi masalah pada function getallheaders akan merujuk pada plugins atau theme yang terpasang pada situs WordPress yang dikelola.

Kenapa hal ini bisa terjadi?

Beberapa fungsi PHP bergantung pada antarmuka pemrograman aplikasi server (Server Application Programming Interface atau yang di singkat sebagai SAPI) yang mendasarinya.

Apache SAPI tentu saja mendukung metode getallheaders. Tetapi beberapa kode berbasis command line tidak mendukung metode ini. wp-cli menggunakan PHP-FPM (FastCGI Process Manager) sebagai SAPI. Oleh karena itu ketika wp-cli mencoba untuk melakukan bootstrap situs WordPress dalam mode CLI, kesalahan fungsi tidak terdefinisi mungkin saja terjadi.

wp-cli mendefinisikan konstanta yang disebut: WP_CLI. Jika konstanta ini didefinisikan maka cukup tentukan versi dummy dari getallheaders. Hal ini seharusnya tidak menimbulkan masalah karena aplikasi WordPress tidak mendapatkan header HTTP apa pun saat berjalan dalam mode cli.

Berikut adalah beberapa baris kode yang dapat dimasukkan ke wp-config.php untuk membuat dummy dari getallheaders.

if ( defined( 'WP_CLI' ) ) { if ( !function_exists ( 'getallheaders' ) ) {
    function getallheaders() {return array();}
    }
}

Silakan gunakan kembali wp-cli, dan silakan nikmati wp-cli tanpa error getallheaders :)

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *