麻烦本地主机PHP require_once

时间:2013-04-23 15:12:27

标签: php localhost mamp

我使用 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服务器上工作正常,我试图在本地托管它以实现版本控制,这样我就可以在本地开发并将更改推送到服务器。

1 个答案:

答案 0 :(得分:2)

如果您将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文件设置在每个文件夹中,如我刚才所述。