За последние 24 часа нас посетили 17523 программиста и 1372 робота. Сейчас ищут 994 программиста ...

Ошибка Warning: include_once(/...)

Тема в разделе "PHP для новичков", создана пользователем Guliver, 22 фев 2015.

  1. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Привет всем! Помогите, пожалуйста, решить проблему! Пишу собственное ядро MVC. Месяц назад создал хелпер для подсчета скорости загрузки страницы. Теперь он мне стал не нужен, так сказать свою функцию выполнил. Удали код обращения к нему на главной странице и соответственно сам хелпер. Стали вылезать ошибки:

    Warning: include_once(/home/lookings/public_html/app/helpers/speedHelper.php): failed to open stream: No such file or directory......
    Warning: session_start(): Cannot send session cache limiter - headers already sent ......

    В чем может быть проблема?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А где вся ошибка?
    Там написано на какой строке не может подключить файл /home/lookings/public_html/app/helpers/speedHelper.php
     
  3. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Warning: include_once(/home/lookings/public_html/app/helpers/speedHelper.php): failed to open stream: No such file or directory in /home/lookings/public_html/app/core/load.php on line 19 Warning: include_once(): Failed opening '/home/lookings/public_html/app/helpers/speedHelper.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/lookings/public_html/app/core/load.php on line 19


    А вот сам код load.php

    Код (Text):
    1. <?php
    2.  
    3. //Load - загрузка классов помощников
    4. class Load {
    5.  
    6.     //construct
    7.     public function __construct() {
    8.         include_once(APP_PATH.'/helpers/helper.php');
    9.     }
    10.  
    11.     //функция для загрузки помощников
    12.     public function helper($helper) {
    13.         if(is_array($helper)) {
    14.             foreach ($helper as $help) {
    15.                 include_once(APP_PATH.'/helpers/'.$help.'Helper.php');
    16.             }
    17.         }
    18.         else {
    19.             include_once(APP_PATH.'/helpers/'.$helper.'Helper.php');
    20.         }
    21.     }
    22. }
    Но там он вызывается через переменную.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Переводи ошибку если не понимаешь.
    В файле /home/lookings/public_html/app/core/load.php на 19 строке, ты пытаешься инклудить файл /home/lookings/public_html/app/helpers/speedHelper.php которого нет
     
  5. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Где Вы видите в файле load.php вызов speedHelper.php??? Если бы все так просто.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    При $helper = 'speed';
    include_once(APP_PATH.'/helpers/'.$helper.'Helper.php'); или include_once(APP_PATH.'/helpers/'.$help.'Helper.php');

    Ты понимаешь что переменная несёт значение? И с помощью конкатенации ты динамически создаёшь имя файла и его пытаешься загрузить?
     
  7. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Откуда возьмется $helper = 'speed'; если в папке helpers нет ничего? Объясните.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ты где-то его вызвал, и что в папке нет, тут не причём.
    Вот как найти ошибку http://phpfaq.ru/debug#debug
    Ещё через xdebug и аналоги можно попробовать.

    Ещё можно с помощью wingrep поискать speed в файлах.
     
  9. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Вот и я про это. Я сам его создал месяц назад, знаю место где вызывал (теперь там его нет). Больше я его нигде не вызывал, да и фреймворк у меня не такой большой, чтобы я потерял его вызов. Как-то в сессиях он прописываться может? Или еще у меня включена буферизация вывода. Может там копать?
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ну загрузи архивом код может кто-то посмотрит.
    Просто узнай откуда speed появился. Ссылку на отладку я дал.
     
  11. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    написано же: load.php on line 19 значит так оно и есть, не сомневайся.
    Код (PHP):
    1. 19:            include_once(APP_PATH.'/helpers/'.$helper.'Helper.php');
    слово 'speed' прилетает через параметр метода. ищем фразу "helper('speed')" — нашел в man_controller.php
    Код (PHP):
    1.     //constructor
    2.     public function __construct() {
    3.         parent::__construct();
    4.         $this->load->helper('html');
    5.         $this->load->helper('speed');
    6.         $this->view->setStyle('style');
    7.     }
    8.  
     
  13. Guliver

    Guliver Новичок

    С нами с:
    26 июн 2013
    Сообщения:
    72
    Симпатии:
    0
    Какой же я не внимательный. Вчера смотрел этот контроллер. Спасибо большое вам!!!
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Мастерство приходит с опытом.