Search code examples
phpinclude-path

Cannot include php files from root using subdomain


I have recently made an API now for that api i have made a subdomain however it broke my php file includes

include $_SERVER['DOCUMENT_ROOT'].'/core/init.php';

now my subdomain i am using is api.website.com and i need to include something from website.com when i try to include its giving the root of the subdomain,

Summary When i try to include init.php i get

Warning: include(/home/website/public_html/API/core/init.php): failed to open stream: No such file or directory in /home/website/public_html/api/apex/getusers.php on line 2

When i actually need

Warning: include(/home/website/public_html/core/init.php): failed to open stream: No such file or directory in /home/website/public_html/api/apex/getusers.php on line 2

I apologize for my grammar if need be.


Solution

  • Changing your include path to

    include ("../../core/init.php");
    

    will fix your problem. However, this is not a recommended approach.

    You should think about using a dependency manager like composer. ( https://getcomposer.org/ ). Then your included files will always be under a directory like

    /home/website/public_html/vendor/core
    

    and there will be less of a chance of your application breaking if the files in /home/website/public_html/core change.