Call to undefined function from another php file


Solution 1

Make sure you're including the file you think you are. If your index.php page looks exactly like you've stated, then it won't return anything.

If you want to link to the same location from anywhere on the site without worrying about relative locations, then at the beginning of the file, put:


And it should work fine, provided your file would be located at

Solution 2

You haven't included a <?php tag in the included file, so it's just interpreted as plaintext input.

Remember... there's no such thing as a PHP script. There's only files which contain PHP code blocks. Without at least one <?php opening tag, the PHP interpreter will never be invoked and the file's contents will simply be treated as output.

Solution 3

try calling another function from testfile.php, if this is'nt working, its something with the include. Add the code:

error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);

to the top of index.php and refresh the browser to see your errors, try debugging from there.

The problem that i can forsee is that you are using a URL instead of a path, your $websiteRoot variable should contain a path like:

$websiteRoot = "/var/www/html/websiteName";
$websiteRoot = "C://xampp/htdocs/websiteName";

instead of a URL like:

$websiteRoot = "";

Solution 4

I had a similar issue. I dug into the PHP in the included file and found an invalid PHP tag. I had <? instead of <?php. PHP 7.2 and earlier forgave that, but PHP 7.3 was throwing that same error you faced.

Author by


Updated on June 14, 2022


  • Admin
    Admin 12 months

    Alright this is what my code looks like


    require_once($WebsiteRoot . "/include/testfile.php");


    function TestFunction()
        echo "It Works";

    And it gives me the error:

    Fatal error:
    Call to undefined function TestFunction() in /path/index.php on line 49

    Any idea what i'm doing wrong? Thanks