【问题标题】:Fatal Error- Require_once致命错误 - Require_once
【发布时间】:2016-08-05 16:27:33
【问题描述】:

我收到以下错误:

警告:require_once(C:\xampp\htdocs\mvc\public\views\home\init.php):无法打开流:C:\xampp\htdocs\mvc\public\index 中没有这样的文件或目录.php 在第 3 行

致命错误:require_once():在 C 中打开所需的 'C:\xampp\htdocs\mvc\public\views\home\init.php' (include_path='C:\xampp\php\PEAR') 失败: \xampp\htdocs\mvc\public\index.php 在第 3 行

在Index.php中,我的代码是

<?php
require_once __DIR__ . '\views\home\init.php';
$app= new app;
?>

在init.php中,我的代码是

<?php require_once __DIR__ . '\core\app.php';
 require_once  __DIR__ . '\core\controller.php';

在controller.php中:

<?php
class controller
{
}
?>

在 app.php 中

<?php
class app
{
public function _construct() 
{
    echo 'now what';
}
}
?>

我的文件夹路径是:

htdocs\mvc\app\views\home\init.php

htdocs\mvc\app\core\app.php & controller.php

htdocs\mvc\public\index.php

有人帮忙吗?我试过 require_once (_DIR . "");也一样,但不起作用。

【问题讨论】:

  • 文件路径一定有问题。现在你指向views目录中的一个文件,和index.php在同一个地方。这是正确的吗?
  • 您的index.php 似乎位于public/ 文件夹,而您所需的文件views/home/init.php 位于app/ 文件夹。所以,试试require '../app/views/home/init.php'; 如果不起作用,你可以试试realpath (__FILE__.'../app'); 来获取你的app/ 文件夹的真实路径名。
  • index.php 在 mvc/public 中。查看路径为 mvc/app/views
  • @Chu 我也尝试过,但效果不佳。两者,require & require_once
  • @Ayaz 哦,对不起。我是../../views/home/init.php,我忘记了另一个..

标签: php xampp


【解决方案1】:

试试这个:

首先对index.php文件中的文件路径做echo就像-

echo __DIR__ . '/views/home/init.php';

然后检查路径是否正确。如果不是,则相应更改,然后使用require_once中的路径。

【讨论】:

  • 这是我放回声后得到的。似乎路径是正确的:C:\xampp\htdocs\mvc\public/views/home/init.php 致命错误:未捕获的错误:在 C:\xampp\htdocs\mvc\public\index 中找不到类“应用程序”。 php:5 堆栈跟踪:#0 {main} 在第 5 行的 C:\xampp\htdocs\mvc\public\index.php 中抛出
  • 使用相同的__DIR__ 要求app.phpcontroller.php。检查文件权限。
  • 如何查看文件权限?我也应该使用 accept 试试这个:首先对 index.php 文件中的文件路径执行 echo - echo DIR 。 '/views/home/init.php'; & require_once'views/home/init.php';一起在代码中或在检查路径后删除 DIR 然后使用 require_once
  • echo __DIR__ . '/views/home/init.php'; 这个仅用于测试。最后,您必须编写像 require_once __DIR__ . '/views/home/init.php'; 这样的代码,并使用 DIR 其他需要的行。
  • 在所有三个代码中放入 DIR 后:警告:require_once(C:\xampp\htdocs\mvc\publicviews/home/init.php):无法打开流:第 3 行 C:\xampp\htdocs\mvc\public\index.php 中没有这样的文件或目录致命错误:require_once(): Failed opening required 'C:\xampp\htdocs\mvc\publicviews/home/init.php ' (include_path='C:\xampp\php\PEAR') 在 C:\xampp\htdocs\mvc\public\index.php 第 3 行
【解决方案2】:

您也可以测试目录和文件本身的权限。如果权限是只读的,可能会出现执行文件的问题。

【讨论】:

  • 前几天我在 localhost xampp 中做了一个示例项目,没有出现这样的问题。
【解决方案3】:

在你的公用文件夹中恢复 index.php 文件....错误将被清除。

【讨论】:

  • 你为什么这么认为?有一个接受的答案使用另一种方式
  • 我遇到了同样的问题,这对我有用...我发现我删除了公用文件夹中的 index.php 文件,恢复文件清除了错误。
【解决方案4】:

将 index.php 文件放入您的公用文件夹中......错误将被清除。

经过测试和验证

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 2012-02-18
    • 2012-12-17
    • 2012-07-08
    • 1970-01-01
    • 2014-10-21
    • 2013-11-11
    • 2011-03-14
    • 2016-07-06
    相关资源
    最近更新 更多