我通常使用这一行从当前文件夹中导入文件,它在我的本地主机服务器上工作正常
require("../DataBase.class.php");
但是当我在我的网站上上传脚本时,我收到了这个警告
警告:include(../DataBase.class.php) [function.include]:打开流失败:没有这样的文件或目录
安全模式不喜欢“../”。所以你应该总是使用类似的东西
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
可能发生的情况是您在服务器上的 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" );
?>
您正在父目录中查找该文件。如果您希望它在当前目录中使用:
require 'Database.class.php';
也许在您的本地 Web 服务器上,您的父目录中有一个副本,出于某种原因,该副本在您的远程服务器上不存在。