本地主机PHP的问题


Trouble with local host PHP require_once

我在本地托管一个网站MAMP。我已经正确设置了虚拟主机,并且当我引用本地URL时,index.php文件确实会被拉出:my.example.local

问题是PHP文件包含不工作。下面是一个示例代码:

<?php
session_start();
$_SESSION['message'] = '';
require_once "includes/config.php";
require_once "includes/classes/facilities.class.php";
require_once "includes/classes/states.class.php";
$title = "Home";
$sub_title = $title;
$reset = false;
require_once "includes/header.php";
?>
下面是我访问index.php时得到的错误信息:
Warning: require_once(includes/classes/facilities.class.php): failed to open stream: No such file or directory in /Users/userName/IOD/portal/index.php on line 9    
Fatal error: require_once(): Failed opening required 'includes/classes/facilities.class.php' (include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php') in /Users/userName/IOD/portal/index.php on line 9

为了记录,我已经尝试了多种不同的方法来引用文件路径,相对的,绝对的,使用主机名等。

我什么都愿意尝试,但到目前为止还没有运气。哦,在你问之前,是的,文件在引用的位置,但由于某种原因(本地)服务器似乎不认为它们在。

注意:这在web服务器上工作得很好,我试图在本地托管它来实现版本控制,这样我就可以在本地开发并将更改推送到服务器。

如果你把include/文件夹放到这个文件夹中;

/Users/jfloyd/IOD/includes/<all in here>

然后将PHP ini中的这一行修改为:

include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php'

include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php:/Users/jfloyd/IOD/'

保存文件并重启服务器,应该可以找到包含文件。

这个ini指令可以在任何地方设置,在每个文件中,在使用.htaccess的每个文件夹中,或者在httpd.conf中,或者在ini文件中,就像我刚才描述的那样。