Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 11076 Просмотров
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Сессии
« : 12.11.2009, 00:30:23 »
При попытке зайти в админку после ввода логина и пароля выдает:
Код
Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;jparameter&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/путь/libraries/joomla/session/session.php on line 423
Хостер бессилен.
Что может быть?

в htaccess вставил php_value session.save_path  /tmp
не помогло
« Последнее редактирование: 16.04.2010, 12:06:24 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Сессии
« Ответ #1 : 12.11.2009, 00:31:56 »
по умолчанию такой проблемы ни сам не встречал ни на форуме не было
ну а если есть - /tmp существует (с учетом правильного пути) и CHMOD на нее какой?

P.S. версия движка? apache и php?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Сессии
« Ответ #2 : 12.11.2009, 00:56:28 »
Не-не. Путь хранения сессий тут не при чем. А что ты делал перед тем, как получил такой результат? Что именно происходит, я могу объяснить, но вопрос в том, как ты этого добился.

После логина, из сессии поднимаются пользовательские данные. Они там лежат сериализованные. Так вот процесс десериализации данных происходит еще до того, как подключается файл, в котором объявлен тип сериализованного объекта. Т.е. с одной стороны PHP надо его десериализовать, а с другой стороны неизвестно что это за тип. Вот примерно так...

Смотри, в configuration.php есть параметр $session_handler, по умолчанию он имеет значение 'database'. Можно попробовать поиграться с ним, поставить к примеру 'none'.  Или, если на сайте есть какой-нибудь акселератор, то можно еще испробовать: apc, memcache, xcache, eaccelerator. Возможно там просто в сессии "залипло" какое-то кривое значение и все тут...

Кстати, перед этими экспериментами - попробуй просто очистить таблицу jos_session, и снова авторизоваться.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #3 : 12.11.2009, 09:35:07 »
После долгой и нудной переписки с хостером пришел вот такой ответ:
Цитировать
Данная проблема напрямую связана с используемой на сайте CMS - Joomla. Дело в том, что Joomla имеет некоторые проблемные места в php-коде, реализующем работу с сессиями на сервере. Эти проблемы никак себя не проявляют при стандартном механизме сессий PHP, однако если метод хранения сессий отличается от стандартного хранения в файлах (так на нашем сервере сессии хранятся в memcache) начинаются проблемы. Нам известно по крайней мере два проблемных момента в коде Joomla, первый - в файле libraries/joomla/session/session.php, там происходит установка директивы session.save_handler в значение files. Непонятно зачем это делается, т.к. files это значение данной директивы по умолчанию. Следующая проблема в том, что устанавливая session.save_handler Joomla не определяет для нее корректного значения session.save_path, в результате получаются проблемы, когда, например, скрипт пытается писать в tcp-сокет как в файл и наоборот.
Вторая проблема кроется в файле libraries/joomla/session/storage.php, здесь происходит создание собственного механизма для работы с сессиями и определение session_set_save_handler, который в связке с описанной выше проблемой не может быть корректно использован.
Данные проблемы относятся к коду CMS, т.е. к вопросу программирования, решать их должны разработчики CMS Joomla. Конечно же понятно, что их решение может затянуться, поэтому я и мой коллега Владимир пытались самостоятельно подправить скрипты CMS для обеспечения ее работы, однако мы не являемся программистами, у нас нет программистов в службе поддержки, поэтому удалось нам это лишь частично.

С папкой tmp все в порядке. Ошибка стала вылезать после каких то манипуляций хостера. Вроде как они изменили метод обработки сессий. С моей стороны никаких действий небыло. С недельку назад просто стало выкидывать из админки при редактировании контента. Пару дней назад после ввода логина и пароля стала вываливатся ошибка. Сайт как бы работает, но в опере, например, при переходе по страницам без авторизации эта же ошибка все равно вываливается.

P.S.: да, забыл добавить что проблема появилась одновременно на всех сайтах на этом хостинге (4 шт.)
P.S.: Joomla! 1.5.14
« Последнее редактирование: 12.11.2009, 10:32:52 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #4 : 12.11.2009, 09:53:47 »
В конфиге:
Код: php
	var $session_handler = 'database';

Когда ставлю
Код: php
	var $session_handler = 'files';
На сайте выдает:
Unable to load session storage class: files

Когда ставлю
Код: php
	var $session_handler = 'none';
На сайте выдает:
Код
Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;jparameter&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/user360097/data/www/sanyzel-citi.ru/libraries/joomla/session/session.php on line 427

Все записи в таблице сессий удалил. Не помогло.
« Последнее редактирование: 12.11.2009, 10:23:04 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Re: Сессии
« Ответ #5 : 12.11.2009, 09:58:05 »
Конечно же понятно, что их решение может затянуться, поэтому я и мой коллега Владимир пытались самостоятельно подправить скрипты CMS для обеспечения ее работы, однако мы не являемся программистами, у нас нет программистов в службе поддержки, поэтому удалось нам это лишь частично.
В топку такую поддержку, болванчиков насажали, которые только и могут принять заявку, а потом бегают (дай бог если еще на форумах не спрашивают) как решить проблему!
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #6 : 12.11.2009, 10:43:35 »
... Или, если на сайте есть какой-нибудь акселератор, то можно еще испробовать: apc, memcache, xcache, eaccelerator. Возможно там просто в сессии "залипло" какое-то кривое значение и все тут...

Написали что "memcache". Выставил в конфиге - Unable to load session storage class: files
Хотя не уверен. Они паралельно что то химичать
« Последнее редактирование: 12.11.2009, 10:51:57 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #7 : 12.11.2009, 11:03:16 »
Вот что выяснилось путем проб и ошибок: когда var $session_handler = ''; (пусто тоесть) то сайт работает, ошибок не выдает, но просто не пускает в админку - после ввода логина и пароля перезагружается страница входа и все.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.

Re: Сессии
« Ответ #8 : 12.11.2009, 18:29:18 »
у меня сегодня выскочила точно такая же проблема.
Причем я совсем ничего не делал для этого. так сказать в один прекрасный день...
решение типа
Цитировать
когда var $session_handler = ''; (пусто тоесть) то сайт работает, ошибок не выдает, но просто не пускает в админку - после ввода логина и пароля перезагружается страница входа и все.
помогает!
а в админку то надо! может подскажет кто что делать?

Joomla! 1.5.14
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3

*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Re: Сессии
« Ответ #9 : 12.11.2009, 21:12:49 »
из всего вышесказанного выход либо трясти техподдержку или менять хостинг!
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #10 : 12.11.2009, 21:36:55 »
из всего вышесказанного выход либо трясти техподдержку или менять хостинг!
Это верно.
Мой вопрос похоже закрыт. Хостер признал неудачными опыты с memcache и восстановил прежнюю конфигурацию. Более подробнее мне, наверное, не расскажут.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #11 : 12.11.2009, 22:30:44 »
Вот что ответили в поддержке:
Цитировать
Что касается исправления этой ошибки - это какая-то странная особенность Joomla - почему-то она перестала подгружать некоторые свои классы перед открытием сессии. Вылечилось это принудительной загрузкой этих классов. А именно вставкой строк:
include_once dirname(__FILE__). '/../html/parameter.php';
include_once dirname(__FILE__). '/../user/user.php';

в начало файла
libraries/joomla/session/session.php
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.

Re: Сессии
« Ответ #12 : 20.11.2009, 01:03:22 »
Аналогичная ситуация, только после отката изменений хостером, один сайт по-прежнему не пускает в админку.
параметр var $session_handler = ''; (пусто)

вставка строк:
include_once dirname(__FILE__). '/../html/parameter.php';
include_once dirname(__FILE__). '/../user/user.php';

в начало файла
libraries/joomla/session/session.php

тоже не помогает. Третьи сутки ломаем голову.

Re: Сессии
« Ответ #13 : 20.11.2009, 02:13:45 »
Помогло var $session_handler = 'database';
Только теперь выкидывает через несколько минут
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #14 : 20.11.2009, 15:25:28 »
А что за хостинг, если не секрет?
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.

Re: Сессии
« Ответ #15 : 17.01.2010, 19:37:40 »
При попытке зайти в админку после ввода логина и пароля выдает:
Код
Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;jparameter&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/user369090/data/www/santech-luxe.ru/libraries/joomla/session/session.php on line 423
Хостер бессилен.
Что может быть?

в htaccess вставил php_value session.save_path  /tmp
не помогло
Я в файле session.php исправил в 3х местах (строки 102, 105, 682) ini_set на @ini_set.
Мне помогло
*

Serjs

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Сессии
« Ответ #16 : 09.02.2010, 02:57:58 »
Может и поздно пишу но неудержался. Хостер прогибается ставить memcached чтобы улучшить работу юзерам с такими тяжелыми cms как жумла, пытаясь снизить нагрузку на бд, чтобы их же потом не отключили. Они не зная что к чему гонят не на цмс в которой грехов да отбавляй, а сразу на хостера косят. Ну работает у вас сессия в бд, ну лишних 3 запроса на юзеря, ну отключать же вас потом еси онлайн будет за нагрузку на бд сервер. Жумла это ос проект, хотите чтобы что то работало до конца - допиливайте. Вы вот задайте вопрос про сессии на оф форуме, там сами разработчики теряются что менять да где в своем коде.

А то что после установки хранений сессий в бд вас выкидывает, ума посмотреть таймаут жизни сессии не дано?
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Сессии
« Ответ #17 : 09.02.2010, 09:15:51 »
Может и поздно пишу но неудержался. Хостер прогибается ставить memcached чтобы улучшить работу юзерам с такими тяжелыми cms как жумла, пытаясь снизить нагрузку на бд, чтобы их же потом не отключили. Они не зная что к чему гонят не на цмс в которой грехов да отбавляй, а сразу на хостера косят. Ну работает у вас сессия в бд, ну лишних 3 запроса на юзеря, ну отключать же вас потом еси онлайн будет за нагрузку на бд сервер. Жумла это ос проект, хотите чтобы что то работало до конца - допиливайте. Вы вот задайте вопрос про сессии на оф форуме, там сами разработчики теряются что менять да где в своем коде.

А то что после установки хранений сессий в бд вас выкидывает, ума посмотреть таймаут жизни сессии не дано?
При чем тут таймаут? Он явно не в ноль установлен был. И не то что выкидывало - не пускало.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите решить ошибку

Автор azumi

Ответов: 21
Просмотров: 4597
Последний ответ 08.09.2020, 18:47:08
от gartes
Не работает кнопка отправить ?

Автор warlocksp

Ответов: 6
Просмотров: 1654
Последний ответ 10.03.2017, 11:34:50
от warlocksp
Joomla 1.5.23 обновление до самой новой версии

Автор AlexeyPavlov

Ответов: 6
Просмотров: 3034
Последний ответ 12.08.2015, 16:30:53
от SeBun
Где найти перечень отличий версий Joomla 1.5?

Автор ABCroNews

Ответов: 3
Просмотров: 9813
Последний ответ 28.07.2015, 12:35:00
от ShniderHost
При индексации добавляются фразы "porn"

Автор Tsepov

Ответов: 6
Просмотров: 2156
Последний ответ 08.02.2015, 12:41:43
от Mihanja80