Не могу понять, почему моя установка 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/