РЭДЛАЙН

Лучшие решения для Вас и Вашего бизнеса!
Создание, обслуживание и Продвижение сайтов, Контекстная и Медийная реклама, Регистрация доменов, Хостинг, Редизайн, Аудит сайта, Создание сайтов в Хабаровске, Владивостоке, Москве и по всей России
Заказать услуги
Мы предлагаем
Интернет-форум
Интернет-каталог
Туристический портал
Сделать стартовой
Поиск по сайту
Карта сайта
Задать вопросы
Схема проезда
г.Хабаровск, ул.Гамарника, 15 оф.17 (4212) 658-653, 637-673, 8-924-200-7194, 8-924-200-4895
E-mail: rlhome@list.ru
       
Рэдлайн - Кратко о нас

Наша студия веб-дизайна работает в сфере разработки и создания сайтов с 2006 года, за которые мы реализовали более 450 проектов различного уровня сложности. Мы создаем нашим клиентам красивые и качественные сайты в соответствии с современными тенденциями и технологиями. В силах нашей веб-студии разработать красивый дизайн сайта и создать сайт любой сложности от небольшого сайта-визитки до корпоративного сайта и портала. Мы воплотим любую Вашу идею !

Подробнее ...

Жизнь подобна универмагу: в ней находишь всё, кроме того, что ищешь

Кроткий Эмиль - (1892—1963) - русский поэт–сатирик, юморист и афорист

Главная Web-мастеру Joomla 1.0.х и PHP 5.3.3 - решение проблем совместимости

Joomla 1.0.х и PHP 5.3.3 - решение проблем совместимости Печать E-mail
Уже многие заметили, что при переходе хостеров на PHP 5.3.3 упали сайты на Joomla 1.0.х.
И так, начинаем лечить:

1. Конечно же в первую очередь нужно вылечить com_content, чтобы отображались материалы. Для этого:

В файлике /includes/Cache/Lite/Function.php   находим строчку

Код:
$arguments = func_get_args();

и заменяем её на

Код:
$arguments = func_get_args();
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}

Для ленивых уже пропатченый файл [ссылка]

2. Лечим com_contact. Для этого:

находим файл /includes/vcard.class.php и внем ф-ию

Код:
  function quoted_printable_encode($input, $line_max=76, $space_conv=false)
  {
    /* ... */
  }

заменяем на

Код:
if(!function_exists('quoted_printable_encode'))
{
  function quoted_printable_encode($input, $line_max=76, $space_conv=false)
  {
    /* ... */
  }
}

Для ленивых уже пропатченый файл [ссылка]


3. Решение проблем с ereg*()

В PHP 5.3.3 были депрекнуты (больше не поддерживаются)  функции ereg*()
Если вы в конфиге включите error_reporting нарпимер на max левел, то увидите множество сообщений типа

Deprecated: Function eregi() is deprecated in /home/siteroot/....

Ман по этой проблеме можете прочитать здесь: [ссылка]

В кратце, решение проблема с ereg*() заключается в замене этой функции на preg_match() по следующим алгоритмам:

Код:
ereg("\.([^\.]*$)", $this->file_src_name, $extension);
заменить на
preg_match("/\.([^\.]*$)/", $this->file_src_name, $extension);


$this->file_dst_name_body = ereg_replace("[^A-Za-z0-9_]", "", $this->file_dst_name_body);
заменить на
$this->file_dst_name_body = preg_replace("/[^A-Za-z0-9_]/", "", $this->file_dst_name_body);

eregi("\.([^\.]*$)", $this->file_src_name, $extension);
заменить на
preg_match("/\.([^\.]*$)/i", $this->file_src_name, $extension);

split (string pattern, string string [, int limit])
заменить на
preg_split ( string pattern, string subject [, int limit [, int flags]] )

NB: первый аргумент (паттерн) почти всегда должен начинаться  и заканчиваться на "/"

P.S. Переходите на Joomla 1.5



« Последнее редактирование: 10.11.2010, 15:23:32 от gorunov » Записан
gorunov
Осваиваюсь на форуме
***

Репутация: +10/-0
Offline Offline

Сообщений: 38



« Ответ #1 : 27.10.2010, 13:35:50 »


Пока коснулся только двух компонент jos_content и jos_contact. Предлагаю всем коллегам кто решит проблемы с другими компонентами ен лениться и отписаться о ходе решения.


Записан
gorunov
Осваиваюсь на форуме
***

Репутация: +10/-0
Offline Offline

Сообщений: 38



« Ответ #2 : 27.10.2010, 14:58:56 »


Понемножку фиксим проблемму с ereg*

1. Начнем с ядра /includes/joomla.php

Строку:
Код:
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {

заменяем на

Код:
      if ( $date && preg_match( "/([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})/", $date, $regs ) ) {	


Записан
Aleks_El_Dia
Moderator
*****

Репутация: +312/-7
Offline Offline

Пол: Мужской
Сообщений: 4140


AEDStudio Joomla! Direction


« Ответ #3 : 24.11.2011, 11:01:55 »


Здесь немного расширенная статья с несколькими решениями - Совместимость Joomla 1.0 и PHP 5.3

Источник: http://joomlaforum.ru/index.php?topic=135614

 
Добавить ссылку на страницу:


Новые статьи и публикации



Вступление - Основные (стандартные) возможности и знакомство с сайтом

» Скачать видео-уроки по управлению сайтом от компании "Рэдлайн" (44.6Mb) [...]

Вступление - Основные возможности по управлению сайтом

» Круглосуточная система приема заказов и заявок "Рэдлайн" и клиентская поддержка

Все публикации

Ваше мнение

Откуда Вы узнали о нас?
 
Компания «РэдЛайн» © 2006 - 2011
www.lred.ru (рэдлайн.рф) 680000, г.Хабаровск, ул.Гамарника, 15 оф.17
(4212) 658-653, 637-673, 8-924-200-7194, 8-924-200-4895
E-mail: rlhome@list.ru Авторизация  Администрирование
Заказать услуги (круглосуточно)
Задать вопросы
Поиск по сайту
Карта сайта
Rambler's Top100 Яндекс.Метрика
Заказать сайт » Заказать обслуживание » Заказать рекламу » Предлагаем обменяться ссылками !!! » Добавить в закладки