要求使用/ var / www工作,但使用localhost不起作用

时间:2016-02-11 10:08:29

标签: php linux

我是初学Linux环境的新手,我也在linux上开发一个php项目。我在需要php文件时遇到了问题。我有两个名为test.php和database.php的php文件。这两个文件都在/ var / www / TEST /.

这是database.php中的代码

<?php echo("You have included the database"); ?>

这是test.php中的代码

<?php require("/var/www/TEST/database.php");?>

然后当我使用firefox浏览test.php时,我得到了预期的输出&#34;你已经包含了数据库&#34;。但是当我将test.php改为

<?php require("localhost/TEST/database.php"); ?>

当我浏览test.php时,我没有得到任何结果。我已经启动了apache服务,并且还将/ var / www /的文件访问权限更改为755.我希望你能帮我解释为什么我得到这种结果。谢谢。

3 个答案:

答案 0 :(得分:1)

首先,您应该启用错误报告:

<?php 
// Put these lines to the top of your script
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
ini_set('xmlrpc_errors', true);

然后您尝试通过HTTP流包含文件,但在http:// 之前忘记了https://localhost,包括via strong 已停用出于安全原因。 配置为allow_url_include。它默认是关闭的,你应该把它关掉。

尝试进入composer / psr classmaps / psr自动加载。这是一种“行业标准”机制。你应该去那。

答案 1 :(得分:1)

要将其作为静态参考,您可以将其编码为:

require($_SERVER['DOCUMENT_ROOT'] . '/TEST/database.php'); // $_SERVER['DOCUMENT_ROOT'] gets you '/var/www' or whatever your server root maybe

答案 2 :(得分:0)

<?php require("database.php");?>

<?php require("database.php"); ?>

在一个文件夹中工作时无需要求完整路径