A Call to undefined function hiba egy gyakori Fatal error PHP környezetben, amely akkor jelentkezik, ha egy olyan függvényt próbálunk meghívni, amely nem létezik vagy nincs betöltve a program futása közben. Ennek több oka lehet – nézzük meg őket részletesen, példakóddal és megoldási javaslatokkal.
Hibajelenség pontos formája
Fatal error: Uncaught Error: Call to undefined function custom_function() in /var/www/html/index.php:10
Ez azt jelenti, hogy a `custom_function()` nem létezik az adott kontextusban, vagy nem lett megfelelően beemelve.
Leggyakoribb okok
- Elgépelés a függvénynévben
- A függvény nincs definiálva vagy beemelve (include/require hiányzik)
- A függvény csak egy bővítményben vagy extension-ben érhető el (pl.
mb_strlen(),curl_init()) - Nem elérhető namespace vagy scope miatt
Példa hibás kódra
<?php
echo my_custom_function("teszt");
Ha a `my_custom_function()` nincs definiálva sehol, akkor PHP fatal error-t dob.
Megoldás 1: Ellenőrizd, hogy definiáltad-e a függvényt
<?php
function my_custom_function($input) {
return strtoupper($input);
}
Megoldás 2: Ellenőrizd az include/require állományokat
require_once 'functions.php';
Ha a függvény egy külső fájlban van, akkor a beemelés kötelező.
Megoldás 3: Bővítményfüggvények hiánya
Bizonyos függvények csak akkor elérhetők, ha a kapcsolódó PHP extension engedélyezve van:
curl_init()→ engedélyezd aphp-curlmodultmb_strlen()→php-mbstringszükséges
Linux szerveren ellenőrizhető: php -m
Apache + PHP újraindítás után válik aktívvá.
Megoldás 4: Namespace vagy scope problémák
Egyes keretrendszerek (pl. Laravel, Symfony) használják a namespace-eket. Ebben az esetben a függvény nem elérhető globálisan.
Kapcsolódó hibák
Külső forrás
PHP hivatalos hibaleírás: function_exists() – PHP.net
Összefoglalás
A Call to undefined function hiba szinte mindig emberi hiba vagy környezetkonfiguráció következménye. A hiba elkerülésének kulcsa a jól strukturált kódbázis, megfelelő include/require használat és a szükséges bővítmények engedélyezése.
