• Современная, быстрая и удобная система управления сайтом
  • 4-е место в рейтинге бесплатных CMS для блогов + добавить свой сайт
  • Более 100 тысяч созданных сайтов
  • Постоянное развитие системы. Русскоязычная поддержка
  • Готовые программные решения (плагины, виджеты, модули и т.п.)
  • Открытый исходный код на GitHub
  • SEO-friendly — идеальна для поискового продвижения
  • Минимальная нагрузка. Работает на любом хостинге
  • Автоматическая установка и обновление системы
Возможности | Помощь | Архив | Отзывы | Помочь проекту

CodeIgniter

Всё о фреймворке CodeIgniter

Вышел CodeIgniter 1.6.2

Просмотров: 7362Комментарии: 0
CodeIgniter

Вышел CodeIgniter 1.6.2. Изменений довольно много, прежде всего хочется отметить два:

  • во всех php-файлов убран закрывающий  ?>
  • в конфигурации добавлен файл constants.php

Версию пока тестирую локально, после этого обновлю уже на сервере.

CodeIgniter и PHP как FastCGI

Просмотров: 13998Комментарии: 7
CodeIgniter

Вот здесь я уже писал, об особенностях работы PHP в режиме FastCGI. Недавно обнаружил еще один глюк, который поначалу принял на счет этой «связки». Как оказалось проблема крылась именно в CodeIgniter.

Суть проблемы. У меня на сайте пагинация страниц. Поскольку главная страница имеет тип «home», то ссылки на страницы формируются в виде «сайт/home/next/2». И вот эта штука напрочь отказывалась работать - постоянно выходило сообщение, что страница не найдена (404).

Обнаружилось, что неверно работает $this->uri->segment_array() - он упорно исключал из первого сегмента URI «home». Перепробовав всевозможные варианты, полез в URI.php и выяснилась интересная деталь.

В режиме, когда $config['uri_protocol'] = "REQUEST_URI" происходит парсинг $_SERVER['REQUEST_URI'], что вполне логично. Но вот в конце этого парсинга (функция _parse_request_uri) получает реальный путь на сервере и сравнивает с полученным REQUEST_URI и берет только ту часть, которая несовпадает. Так вот, на сервере путь начинается с «home» и первый сегмент тоже начинается с «home». Вот функция и удаляет её. :)

Я не стал сильно разбираться в смысле этих манипуляций, просто закоментировал строки:

# $parsed_uri = implode("/", array_slice($parsed_uri, $i));
$parsed_uri = implode("/", $parsed_uri);

После этого все заработало.

О проекте

MaxSite CMS предназначена для создания сайтов любой сложности. Система отлично подходит обычным пользователям, вебмастерам, фрилансерам и вебстудиям.