Error "Fatal error: Call to undefined function" di PHP terjadi ketika kamu mencoba memanggil sebuah fungsi yang tidak dikenal oleh interpreter PHP, alias belum didefinisikan atau tidak tersedia saat eksekusi.
Berikut beberapa penyebab umum dan cara mengatasinya:
1. Typo (Kesalahan Penulisan Nama Fungsi)
Penyebab: Kamu mungkin salah menuliskan nama fungsi (huruf besar/kecil penting di PHP).
Solusi:
Periksa kembali nama fungsi. Contoh:
// Salah (case-sensitive)
echo Strlen("teks");
// Benar
echo strlen("teks");
2. Fungsi Belum Didefinisikan
Penyebab: Kamu memanggil fungsi kustom (buatan sendiri), tapi belum membuatnya atau lupa meng-include file-nya.
Solusi:
- Pastikan kamu sudah mendefinisikan fungsinya.
-
Jika fungsi berada di file lain, gunakan
include
,require
,include_once
, ataurequire_once
.
// file: functions.php
function halo() {
echo "Halo Dunia!";
}
// file: index.php
include 'functions.php'; // wajib sebelum memanggil fungsi
halo();
3. Fungsi Butuh Ekstensi yang Belum Diaktifkan
Penyebab: Fungsi berasal dari ekstensi PHP tertentu (seperti mysqli_connect()
atau imagecreate()
), tapi ekstensinya belum aktif.
Solusi:
-
Aktifkan ekstensi di
php.ini
- Restart web server (Apache/Nginx)
-
Untuk
mysqli_connect()
, aktifkanextension=mysqli
-
Untuk
imagecreate()
, aktifkanextension=gd
php -m | grep mysqli
4. Versi PHP Tidak Mendukung Fungsi Tersebut
Penyebab: Kamu menggunakan fungsi yang hanya tersedia di versi PHP tertentu.
Solusi:
- Cek versi PHP:
php -v
- Cek dokumentasi PHP https://www.php.net/ untuk melihat sejak versi berapa fungsi tersedia.
- Jika perlu, upgrade PHP.
5. Composer Autoload Belum Disertakan
Jika kamu menggunakan Composer dan memanggil fungsi dari library, pastikan kamu sudah menyertakan autoload.
require_once __DIR__ . '/vendor/autoload.php';
Contoh Error dan Solusi
<?php
echo hello_world();
Error:
Fatal error: Uncaught Error: Call to undefined function hello_world()
Solusi: Tambahkan fungsi:
function hello_world() {
return "Hello World!";
}
0 comments:
Post a Comment