Call to undefined function from another php file

15,013

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:

$WebsiteRoot=$_SERVER['DOCUMENT_ROOT'];

And it should work fine, provided your file would be located at http://mywebsite.com/include/testfile.php

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";
OR
$websiteRoot = "C://xampp/htdocs/websiteName";

instead of a URL like:

$websiteRoot = "http://www.somesite.com";

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.

Share:
15,013
Admin
Author by

Admin

Updated on June 14, 2022

Comments

  • Admin
    Admin almost 2 years

    Alright this is what my code looks like

    index.php

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

    /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