2016-04-14 5 views
0

Я получаю следующее сообщение об ошибке:Fatal error- require_once

Warning: require_once(C:\xampp\htdocs\mvc\public\views\home\init.php): failed to open stream: No such file or directory in C:\xampp\htdocs\mvc\public\index.php on line 3

Fatal error: require_once(): Failed opening required 'C:\xampp\htdocs\mvc\public\views\home\init.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\mvc\public\index.php on line 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'; 

В контроллере.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. ""); но не работает.

+0

Должна быть проблема с файловым пути. прямо сейчас вы указываете на файл в каталоге представлений в том же месте, что и index.php .. это правильно? – DevDonkey

+0

Похоже, что ваш 'index.php' находится в папке' public/', а требуемый файл' views/home/init.php' находится в папке 'app /'. Итак, попробуйте 'require '../ app/views/home/init.php';' Если это не сработает, вы можете попробовать 'realpath (__FILE __. '../app');' получить ваше приложение/'realpath имя папки. –

+0

index.php находится в mvc/public. Путь просмотра - mvc/app/views – Ayaz

ответ

0

Попробуйте это:

Сначала сделать echo для пути к файлу в файле index.php как -

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

А затем проверьте, правильно ли путь или нет. Если нет, то измените его соответствующим образом, а затем используйте путь в require_once.

+0

Это то, что я получаю после размещения эха. Кажется, путь верен: C: \ xampp \ htdocs \ mvc \ public/views/home/init.php Неустранимая ошибка: не удалось Ошибка: Class 'App' не найден в C: \ xampp \ htdocs \ mvc \ public \ index .php: 5 Трассировка стека: # 0 {main} выбрано в C: \ xampp \ htdocs \ mvc \ public \ index.php в строке 5 – Ayaz

+0

Используйте те же '__DIR__' для использования' app.php' и 'controller.php' , Проверьте разрешение файла. – prava

+0

Как проверить разрешение файла? также следует использовать принять Попробуйте следующее: Сначала сделайте эхо для пути к файлу в файле index.php, например - echo __DIR__. '/views/home/init.php'; & require_once'views/home/init.php '; вместе в коде или сразу после проверки пути удалите _DIR_, а затем используйте require_once – Ayaz

0

Вы также можете проверить разрешение самой директории и файла. Может возникнуть проблема с исполнением файла, если только чтение доступно только для чтения.

+0

Я сделал пример проекта в localhost xampp несколько дней назад, и таких проблем не было. – Ayaz