Call to undefined function hiba – jelentése és megoldása (PHP)

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 a php-curl modult
  • mb_strlen()php-mbstring szü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.