当我使用文件夹中的文件时,包括并要求问题

时间:2009-09-13 01:54:27

标签: php localhost warnings

我通常使用此行从当前文件夹中导出文件,它在我的本地主机服务器上正常工作

require("../DataBase.class.php"); 

但是当我在我的网站上传脚本时,我得到了这个警告

  

警告:   包括(../ DataBase.class.php)   [function.include]:无法打开   stream:没有这样的文件或目录

3 个答案:

答案 0 :(得分:3)

安全模式不喜欢“../”。所以你应该总是使用像

这样的东西
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';

答案 1 :(得分:2)

可能发生的事情是,php.ini中的include_path设置在服务器上与在本地安装的PHP / Apache上不同。除此之外,请记住../不指向文件所在的当前目录,它指向您所在的当前目录的父目录。我建议找到完整路径您的文档根目录,然后包括您的文件:

<?php

$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );

?>

答案 2 :(得分:0)

您正在父目录中查找该文件。如果您想在当前目录中使用:

require 'Database.class.php';

也许在您的本地Web服务器上,由于远程服务器上不存在的某些原因,您的父目录中有一个副本。