Проект CodeIgniter загружает пустую веб-страницу - PullRequest
2 голосов
/ 20 сентября 2011

У меня есть проект codeigniter, который я успешно запустил на Mac OS X Lion.При попытке запустить тот же проект в Ubuntu, запрос localhost / project приводит к пустой странице без источника.

Я добавил AllowOverride All в apache.conf безрезультатно.Моя последняя стратегия заключалась в том, чтобы поместить оператор die () в стратегические места в индексе и включаемых файлах, пытаясь найти строку, в которой код не выполняется.С помощью этого метода я обнаружил в system / core / CodeIgniter.php, что оператор die перед строкой "$ CI = new $ class ();"выполняется, а один после него (и, вероятно, весь последующий код) - нет.

Что я могу сделать с этой информацией, чтобы помочь мне запустить этот проект локально?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 20 сентября 2011

У меня была такая же пустая страница, когда я начал работать с CI.

Я просто забыл установить mySQL на мою машину.Вы не получаете ошибок, потому что в системных файлах соединению с базой данных предшествует «@», поэтому ошибки не отображаются.

Если это не проблема, проверьте свою версию PHP или попробуйтедобавьте phpinfo () в файл index.php.

0 голосов
/ 21 августа 2012

Я столкнулся с подобной проблемой только в обратном порядке - работал в Ubuntu, но потом ничего не получил в OS X. У меня был установлен mysql и другие сайты работали на том же сервере.Для меня было два виновника, может быть, это вам тоже поможет:

  1. Ваш каталог журналов недоступен для записи.Обычно каталогом являются application / logs, если у вас нет пользовательских настроек конфигурации.(http://codeigniter.com/user_guide/general/errors.html) Это не только повлияет на все эти вызовы функции log_message (...), но и произойдет сбой, когда класс Loader попытается загрузить библиотеку Log. В этом случае изменение уровней ведения журнала вКонфигурация (как часто предлагается) не даст никаких полезных результатов, потому что CI на самом деле не может написать ни одной из ошибок.

  2. Возможно, вы отсутствоваликакая-то другая библиотека php, которая установлена ​​на сервере, на котором она работает. Для меня это было отсутствующее расширение php memcached, поэтому класс Loader также не удался при попытке инициализировать класс Session (хотя его пользовательская расширенная версия).сложнее отлаживать, если вы не знаете наверняка, какие расширения требуются (например, присоединение к существующему проекту с большим количеством дополнений поверх базовой установки CI). Итак, следующим шагом будет попытка поставить эти штампы(...) операторы через класс Loader, чтобы увидеть, что на самом деле не загружается.

0 голосов
/ 20 сентября 2011

Вы случайно не ставили какие-либо пробелы или новые строки после окончания тега PHP в некоторых своих файлах? Если это так - удалите их вместе с закрывающим тегом PHP.

(P.S. В средстве воспламенения кода никогда не закрывайте теги PHP в файлах, которые содержат только код PHP - Controller, Model, ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...