运行在ubuntu服务器上的PHP包含在lamp中

运行在ubuntu服务器上的PHP包含在lamp中,php,include,apache2,Php,Include,Apache2,我已经在ubuntu服务器上安装了LAMP。而且效果很好。。我有一个php应用程序,它有一个根文件夹的文件夹结构 index.php {数据库} localhost.php {Modules} module1.php module2.php module3.php {MODULE3} submod1.php submod2.php 基于_GET,模块包含在index.php中 include('Modules/module2.php'); 这很好。。但是在module1.php

我已经在ubuntu服务器上安装了LAMP。而且效果很好。。我有一个php应用程序,它有一个根文件夹的文件夹结构

  • index.php
  • {数据库}
    • localhost.php
  • {Modules}
    • module1.php
    • module2.php
    • module3.php
    • {MODULE3}
      • submod1.php
      • submod2.php
基于_GET,模块包含在index.php中

include('Modules/module2.php');
这很好。。但是在module1.php中,当我试图通过

include('/Database/localhost.php');
这行不通。为什么它不起作用


注意:在我的windows 7中,同样的代码在WAMP中非常有效。

在“数据库”前面有一个斜杠。

在“数据库”前面有一个斜杠

/Database/前面的斜杠不应该出现,因为php试图从/(根文件夹)中查找文件

通常,最好有一个定义的起始路径点,如:

define('DS', '/'); //Directory separator Unix
define('BASE_PATH', dirname(__FILE__).DS);
然后将其用作所有其他包含文件的基础

/Database/前面的斜杠不应该出现,因为php试图从/(根文件夹)中查找文件

通常,最好有一个定义的起始路径点,如:

define('DS', '/'); //Directory separator Unix
define('BASE_PATH', dirname(__FILE__).DS);

然后将其用作所有其他包含文件的基础。

您是否意识到包含('/Database/localhost.php');将尝试包括服务器文件系统的/Database目录中包含的localhost.php?@heximal如果是因为别名,我已经检查了别名,它仅为/Icons/phpMyadmin配置。您是否意识到包括('/Database/localhost.php');将尝试包括在服务器文件系统的/Database目录中包含的localhost.php?@heximal如果是因为别名,我已检查了别名,仅为/Icons/phpMyadmin配置了该别名..是。。它在Windows7中工作。。我添加了一个斜杠,因为它包含在一个模块文件中。它将尝试在文件系统的根目录下查找该文件。相反,您需要将数据库的路径放在include路径上或使用相对路径。。它现在很好用。。但是为什么lamp和wamp以不同的方式执行它。。即使有slash的存在,它在wamp中也运行良好。。lamp为什么不一样呢?它与wamp或lamp无关,它取决于php的配置,包括_pathyes。。它在Windows7中工作。。我添加了一个斜杠,因为它包含在一个模块文件中。它将尝试在文件系统的根目录下查找该文件。相反,您需要将数据库的路径放在include路径上或使用相对路径。。它现在很好用。。但是为什么lamp和wamp以不同的方式执行它。。即使有slash的存在,它在wamp中也运行良好。。lamp为什么不一样呢?它与wamp或lamp无关,这取决于php的配置和include_path。我不认为module3.php中有这样的内容。我可以通过
include('module3/submod2.php')轻松地包含其子模块哪个工作得很好。。。。。只需修改一下:include('/Database/localhost.php');包括('../Database/localhost.php');我不这么认为,在module3.php中,我可以通过
include('module3/submod2.php')轻松地包含它的子模块哪个工作得很好。。。。。只需修改一下:include('/Database/localhost.php');包括('../Database/localhost.php');