Thursday, May 14, 2020

How to Find the PHP Document Root

The PHP document root is the folder where a PHP script is running. When installing a script, web developers often need to know the document root. Although many pages scripted with PHP run on an Apache server, some run under Microsoft IIS on Windows. Apache includes an environment variable called DOCUMENT_ROOT, but IIS doesnt. As a result, there are two methods for locating the PHP document root. Finding the PHP Document Root Under Apache Instead of emailing tech support for the document root and waiting for someone to respond, you can use a simple PHP script with getenv (), which provides a shortcut on Apache servers to the document root. These few lines of code return the document root. Finding the PHP Document Root Under IIS Microsofts Internet Information Services was introduced with Windows NT 3.5.1 and has been included in most Windows releases since then—including Windows Server 2016 and Windows 10. It does not supply a shortcut to the document root. To find the name of the currently executing script in IIS, begin with this code: print getenv  (SCRIPT_NAME); which returns a result similar to: /product/description/index.php which is the full path of the script. You dont want the full path, just the name of the file for SCRIPT_NAME. To get it, use: print realpath(basename(getenv(SCRIPT_NAME))); which returns a result in this format: /usr/local/apache/share/htdocs/product/description/index.php To remove the code referring to the site-relative file and arrive at the document root, use the following code at the beginning of any script that needs to know the document root. $localpathgetenv(SCRIPT_NAME);$absolutepathrealpath($localPath);// fix the Windows slashes$absolutepathstr_replace(\\,/,$absolutepath);$docrootsubstr($absolutepath,0,strpos($absolutepath,$localpath));// an example of useinclude($docroot./includes/config.php); This method, although more complex, runs on both IIS and Apache servers.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.