我已经了解到,为了安全起见,将mysqli连接config.php文件放在根目录(出自公共html)中。那么,如果我想在查询之前包含config.php会是什么路径?
我的config.php如下
<?php
$hostname='';
$username='';
$password='';
$database_name='';
$mysqli = new mysqli($hostname, $username, $password, $database_name);
?>
在我的其他php文件中
<?include('config.php');?>
我的config.php在根目录中。 include语句中的路径是什么?
答案 0 :(得分:3)
当您说“根目录”时,通常表示文件系统的根目录。在大多数* nix(Linux,FreeBSD,Unix)安装上,这意味着您的文件系统路径只是“/”。也就是说,如果您的配置文件在那里,您的PHP文件应如下所示:
<?php
include('/config.php');
?>
但是,这通常都是一个坏主意,并且需要超级用户权限才能将文件实际放在“/”的文件系统根目录下。所以它很可能(但我们必须猜测),你的意思是你的网络服务器的DOCUMENT ROOT。大多数运行PHP的Web服务器都通过Kai Qing在评论中提到的超全局$ _SERVER ['DOCUMENT_ROOT']来提供该值。如果那是您的文件所在,那么您可以将其放在PHP文件中:
<?php
include($_SERVER['DOCUMENT_ROOT'] . '/config.php');
?>
另见http://www.php.net/manual/en/reserved.variables.server.php。
答案 1 :(得分:1)
你可以试试这个。
包括($ _ SERVER [ 'DOCUMENT_ROOT']。 '/ config.php中')
http://css-tricks.com/php-include-from-root/
如果您的DOCUMENT_ROOT设置不正确,此链接还有另一种技术。