CodeIgniter - белый экран при загрузке (неопределенный base_url в загрузчике) - PullRequest
1 голос
/ 27 апреля 2011

Не могу понять, почему моя установка CodeIgniter не загружается. Я уверен, что все мои конфигурационные файлы верны, у меня даже установлены error_reporting(E_ALL) и ini_set('display_errors', 1);.

Неважно, что я получаю пустую страницу.

В своих журналах ошибок я нашел это:

[Ср. 27 апреля 11:08:15 2011] [ошибка] [клиент 127.0.0.1] Неустранимая ошибка PHP: Вызов неопределенной функции base_url () в /var/www/html/system/libraries/Loader.php по линии 255

Кто-нибудь видел эту ошибку?

Строка 255:

$CI->dbutil =& new $class();

Где $class равно

$class = 'CI_DB_'.$CI->db->dbdriver.'_utility';

и $CI->db->dbdriver - это 'mysqli'.

Я использовал grep и не смог найти вызов base_url в любом месте класса Loader или класса Database.

РЕДАКТИРОВАТЬ : После изменения некоторых файлов (включая файл .htaccess) и последующего их изменения я получил другую ошибку:

отправленный вами URI запрещен символы.

РЕДАКТИРОВАТЬ 2 : переход к http://myurl.com дает пустую страницу, но http://myurl.com/controller дает ошибку "запрещенные символы".

РЕДАКТИРОВАТЬ 3 : Apache работал как неправильный пользователь, и мои настройки БД были неправильными. После исправления, сайт работает, но только если $config['permitted_uri_chars'] пусто. В противном случае я получаю ошибку «запрещенные символы».

ОБНОВЛЕНИЕ : Решена проблема! Этот новый сервер имеет PHP 5.3, а другие серверы имеют 5.2. preg_quote отличается в 5.3, поэтому пришлось исправить это, следуя инструкциям здесь: http://davidmichaelthompson.com/2009/09/03/fixed-the-uri-you-submitted-has-disallowed-characters-error-codeigniter/

Ответы [ 6 ]

1 голос
/ 02 октября 2018

У меня была та же проблема, я установил последнюю версию xamp и обнаружил, что мой сайт не работает, после исследований и траты времени я нашел это.

Мне нужно включить следующий тег в файле php.ini short_open_tag = О

После этого обязательно перезапустите apache.

Надеюсь, это поможет, большинство из этих проблем связано с файлом php.ini или новой установкой, если ваш сайт уже работал, как другие люди, сталкивающиеся с подобной проблемой.

1 голос
/ 28 апреля 2011

Решение здесь было:

  1. Apache работал не от того пользователя и имел плохие разрешения для файлов CI
  2. В PHP 5.3 preg_quote отличается от 5.2, исправление здесь: http://davidmichaelthompson.com/2009/09/03/fixed-the-uri-you-submitted-has-disallowed-characters-error-codeigniter/
  3. Убедитесь, что настройки вашей БД верны
1 голос
/ 28 апреля 2011

Это проблема с правами доступа к какому-либо из файлов библиотеки CI?Или 777 это только для тестирования?

0 голосов
/ 14 января 2013

Вы можете заменить в своем файле autoload.php следующим.

$autoload['helper'] = array('url');
0 голосов
/ 27 апреля 2011

Проверьте ваш base_url в вашем config.phpapplication/config/).Похоже, синтаксис может быть испорчен или не определен.

$config['base_url'] = 'http://your_url/';

Также: На какой версии CI вы работаете?Я только что загрузил файл loader.php в свой рабочий проект, и моя строка 255 немного отличается от вашей.$CI->dbutil =& instantiate_class(new $class()); .. Я не уверен, что это актуально, так как я не слишком много копаюсь в системной папке, но стоит посмотреть на

0 голосов
/ 27 апреля 2011

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

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