Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

Andrey81

  • Захожу иногда
  • 216
  • 9 / 0
  • Я плохо слышу, прошу плиз помощь проблема Joomla
Привет Joomla!
как сделать и исправить код

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 79 bytes) in /var/www/user9314/data/www/mysite.com/libraries/joomla/database/database/mysql.php on line 712

mysql.php
Спойлер
[свернуть]

и еще один внизу сообщение
« Последнее редактирование: 06.12.2013, 21:42:00 от Andrey81 »
*

Andrey81

  • Захожу иногда
  • 216
  • 9 / 0
  • Я плохо слышу, прошу плиз помощь проблема Joomla
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 104 bytes) in /var/www/user9314/data/www/mysite.com/libraries/joomla/database/database.php on line 1110

database.php
Спойлер
[свернуть]

спасибо, жду ответа
*

arma

  • Завсегдатай
  • 1753
  • 81 / 3
Если нет самостоятельного доступа к настройкам php -обратится к хостеру
p.s. Со всем уважением к вам (относится ко всем постам) - может попробовать писать на родном языке и переводить скажем гуглом, а то иногда так не понятно, что просто и не читаешь.
« Последнее редактирование: 06.12.2013, 23:37:40 от arma »
*

Andrey81

  • Захожу иногда
  • 216
  • 9 / 0
  • Я плохо слышу, прошу плиз помощь проблема Joomla
подскажите пожалуйста, как исправить код и чтобы было работает видно сайта
пожалуйста, жду
*

arma

  • Завсегдатай
  • 1753
  • 81 / 3
Увеличить в php.ini "memory_limit "
*

Andrey81

  • Захожу иногда
  • 216
  • 9 / 0
  • Я плохо слышу, прошу плиз помощь проблема Joomla
Увеличить в php.ini "memory_limit "

Да, уже работает и нашёл. Можно так сделать, но у меня пока нормальный размер лимита :)
нашёл 2 плагина не работает это счётчики "JV Counter" и "Hit Counter" удалили и теперь сайт проснулся и работает :) УХххх
почему, плагин доступ с сайта и подключается по всему миру, а если плагин выключено или удалено, поэтому кто у кого сайт проблема и стала ошибка "Fatal Error" или подругому
всё нормально и работает :) УХхх :)
Спасибо
*

Lecter_25

  • Новичок
  • 2
  • 0 / 0
Доброго времени суток.

У меня на сайте подобная проблема. В последнее время стали вылетать ошибки Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 523800 bytes). Посмотрел в логах.. в двух местах это происходит:

1) в предпоследней строчке ******//libraries/loader.php on line 388
2) в ******/libraries/joomla/language/language.php on line 1176

В первом случае код вот такой (ошибка в строке return JLoader::import($path);)

Код
<?php
/**
 * @package    Joomla.Platform
 *
 * @copyright  Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

/**
 * Static class to handle loading of libraries.
 *
 * @package  Joomla.Platform
 * @since    11.1
 */
abstract class JLoader
{
/**
* Container for already imported library paths.
*
* @var    array
* @since  11.1
*/
protected static $classes = array();

/**
* Container for already imported library paths.
*
* @var    array
* @since  11.1
*/
protected static $imported = array();

/**
* Container for registered library class prefixes and path lookups.
*
* @var    array
* @since  12.1
*/
protected static $prefixes = array();

/**
* Method to discover classes of a given type in a given path.
*
* @param   string   $classPrefix  The class name prefix to use for discovery.
* @param   string   $parentPath   Full path to the parent folder for the classes to discover.
* @param   boolean  $force        True to overwrite the autoload path value for the class if it already exists.
* @param   boolean  $recurse      Recurse through all child directories as well as the parent path.
*
* @return  void
*
* @since   11.1
*/
public static function discover($classPrefix, $parentPath, $force = true, $recurse = false)
{
try
{
if ($recurse)
{
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($parentPath),
RecursiveIteratorIterator::SELF_FIRST
);
}
else
{
$iterator = new DirectoryIterator($parentPath);
}

foreach ($iterator as $file)
{
$fileName = $file->getFilename();

// Only load for php files.
// Note: DirectoryIterator::getExtension only available PHP >= 5.3.6
if ($file->isFile() && substr($fileName, strrpos($fileName, '.') + 1) == 'php')
{
// Get the class name and full path for each file.
$class = strtolower($classPrefix . preg_replace('#\.php$#', '', $fileName));

// Register the class with the autoloader if not already registered or the force flag is set.
if (empty(self::$classes[$class]) || $force)
{
self::register($class, $file->getPath(). '/' . $fileName);
}
}
}
}
catch (UnexpectedValueException $e)
{
// Exception will be thrown if the path is not a directory. Ignore it.
}
}

/**
* Method to get the list of registered classes and their respective file paths for the autoloader.
*
* @return  array  The array of class => path values for the autoloader.
*
* @since   11.1
*/
public static function getClassList()
{
return self::$classes;
}

/**
* Loads a class from specified directories.
*
* @param   string  $key   The class name to look for (dot notation).
* @param   string  $base  Search this directory for the class.
*
* @return  boolean  True on success.
*
* @since   11.1
*/
public static function import($key, $base = null)
{
// Only import the library if not already attempted.
if (!isset(self::$imported[$key]))
{
// Setup some variables.
$success = false;
$parts = explode('.', $key);
$class = array_pop($parts);
$base = (!empty($base))? $base : dirname(__FILE__);
$path = str_replace('.', DIRECTORY_SEPARATOR, $key);

// Handle special case for helper classes.
if ($class == 'helper')
{
$class = ucfirst(array_pop($parts)). ucfirst($class);
}
// Standard class.
else
{
$class = ucfirst($class);
}

// If we are importing a library from the Joomla namespace set the class to autoload.
if (strpos($path, 'joomla') === 0)
{
// Since we are in the Joomla namespace prepend the classname with J.
$class = 'J' . $class;

// Only register the class for autoloading if the file exists.
if (is_file($base . '/' . $path . '.php'))
{
self::$classes[strtolower($class)] = $base . '/' . $path . '.php';
$success = true;
}
}
/*
* If we are not importing a library from the Joomla namespace directly include the
* file since we cannot assert the file/folder naming conventions.
*/
else
{
// If the file exists attempt to include it.
if (is_file($base . '/' . $path . '.php'))
{
$success = (bool) include_once $base . '/' . $path . '.php';
}
}

// Add the import key to the memory cache container.
self::$imported[$key] = $success;
}

return self::$imported[$key];
}

/**
* Load the file for a class.
*
* @param   string  $class  The class to be loaded.
*
* @return  boolean  True on success
*
* @since   11.1
*/
public static function load($class)
{
// Sanitize class name.
$class = strtolower($class);

// If the class already exists do nothing.
if (class_exists($class))
{
return true;
}

// If the class is registered include the file.
if (isset(self::$classes[$class]))
{
include_once self::$classes[$class];
return true;
}

return false;
}

/**
* Directly register a class to the autoload list.
*
* @param   string   $class  The class name to register.
* @param   string   $path   Full path to the file that holds the class to register.
* @param   boolean  $force  True to overwrite the autoload path value for the class if it already exists.
*
* @return  void
*
* @since   11.1
*/
public static function register($class, $path, $force = true)
{
// Sanitize class name.
$class = strtolower($class);

// Only attempt to register the class if the name and file exist.
if (!empty($class) && is_file($path))
{
// Register the class with the autoloader if not already registered or the force flag is set.
if (empty(self::$classes[$class]) || $force)
{
self::$classes[$class] = $path;
}
}
}

/**
* Register a class prefix with lookup path.  This will allow developers to register library
* packages with different class prefixes to the system autoloader.  More than one lookup path
* may be registered for the same class prefix, but if this method is called with the reset flag
* set to true then any registered lookups for the given prefix will be overwritten with the current
* lookup path.
*
* @param   string   $prefix  The class prefix to register.
* @param   string   $path    Absolute file path to the library root where classes with the given prefix can be found.
* @param   boolean  $reset   True to reset the prefix with only the given lookup path.
*
* @return  void
*
* @since   12.1
*/
public static function registerPrefix($prefix, $path, $reset = false)
{
// Verify the library path exists.
if (!file_exists($path))
{
throw new RuntimeException('Library path ' . $path . ' cannot be found.', 500);
}

// If the prefix is not yet registered or we have an explicit reset flag then set set the path.
if (!isset(self::$prefixes[$prefix]) || $reset)
{
self::$prefixes[$prefix] = array($path);
}
// Otherwise we want to simply add the path to the prefix.
else
{
self::$prefixes[$prefix][] = $path;
}
}

/**
* Method to setup the autoloaders for the Joomla Platform.  Since the SPL autoloaders are
* called in a queue we will add our explicit, class-registration based loader first, then
* fall back on the autoloader based on conventions.  This will allow people to register a
* class in a specific location and override platform libraries as was previously possible.
*
* @return  void
*
* @since   11.3
*/
public static function setup()
{
// Register the base path for Joomla platform libraries.
self::registerPrefix('J', JPATH_PLATFORM . '/joomla');

// Register the autoloader functions.
spl_autoload_register(array('JLoader', 'load'));
spl_autoload_register(array('JLoader', '_autoload'));
}

/**
* Autoload a class based on name.
*
* @param   string  $class  The class to be loaded.
*
* @return  void
*
* @since   11.3
*/
private static function _autoload($class)
{
foreach (self::$prefixes as $prefix => $lookup)
{
if (strpos($class, $prefix) === 0 && self::isFirstLetterAfterPrefixUpperCase($prefix, $class))
{
return self::_load(substr($class, strlen($prefix)), $lookup);
}
}
}

/**
* Check if first letter after the prefix length is uppercase (First letter of class name)
* This allows to match proper library when one library prefix is included in the prefix of another class
* e.g: LMyclass and LibMyclass
*
* @param   string  $prefix  Library prefix
* @param   string  $class   Classname
*
* @return bool
*/
private static function isFirstLetterAfterPrefixUpperCase($prefix, $class)
{
if (strlen($prefix) >= strlen($class))
{
return false;
}

$chr = $class[strlen($prefix)];

return $chr === strtoupper($chr);
}

/**
* Load a class based on name and lookup array.
*
* @param   string  $class   The class to be loaded (wihtout prefix).
* @param   array   $lookup  The array of base paths to use for finding the class file.
*
* @return  void
*
* @since   12.1
*/
private static function _load($class, $lookup)
{
// Split the class name into parts separated by camelCase.
$parts = preg_split('/(?<=[a-z0-9])(?=[A-Z])/x', $class);

// If there is only one part we want to duplicate that part for generating the path.
$parts = (count($parts) === 1)? array($parts[0], $parts[0]) : $parts;

foreach ($lookup as $base)
{
// Generate the path based on the class name parts.
$path = $base . '/' . implode('/', array_map('strtolower', $parts)). '.php';

// Load the file if it exists.
if (file_exists($path))
{
return include $path;
}
}
}
}

/**
 * Global application exit.
 *
 * This function provides a single exit point for the platform.
 *
 * @param   mixed  $message  Exit code or string. Defaults to zero.
 *
 * @return  void
 *
 * @codeCoverageIgnore
 * @since   11.1
 */
function jexit($message = 0)
{
exit($message);
}

/**
 * Intelligent file importer.
 *
 * @param   string  $path  A dot syntax path.
 *
 * @return  boolean  True on success.
 *
 * @since   11.1
 */
function jimport($path)
{
return JLoader::import($path);
}

во втором вот этот кусочек кода

Код
public static function getMetadata($lang)
{
$path = self::getLanguagePath(JPATH_BASE, $lang);       // ВОТ ТУТ ОШИБКА (1176 строка)
$file = "$lang.xml";

$result = null;

if (is_file("$path/$file"))
{
$result = self::parseXMLLanguageFile("$path/$file");
}

return $result;
}

Пробовал всякие манипуляции со строкой <?php ini_set("memory_limit", "512M"); ?> - не помогло. Обратился к администратору хостинга ... сказали, что весь объем памяти не используется и это у меня в коде ошибка... мол обращайтесь к разработчику сайта и пусть он разбирается. Но связь с разработчиком я давно потерял, да и как такое может быть, что сайт работал нормально полтора года, а тут вдруг "ошибка в коде".

Помогите пожалуйста!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка You have an error in your SQL syntax

Автор Jozheg

Ответов: 27
Просмотров: 2361
Последний ответ 23.05.2020, 00:23:37
от Jozheg
Ошибка Fatal error: Access to undeclared static property: JLoader::$classes

Автор leoleo

Ответов: 10
Просмотров: 2915
Последний ответ 01.12.2019, 20:52:46
от AlexB
Не заходит на сайт. Error 500

Автор Маргарита

Ответов: 4
Просмотров: 1984
Последний ответ 01.11.2017, 10:29:54
от draff
Ошибка: Fatal error: Uncaught exception 'LogException' в одном из браузеров

Автор vipex

Ответов: 4
Просмотров: 1353
Последний ответ 12.05.2017, 17:25:39
от vipex
Уязвимости в Joomla 2.5.28. Как их исправить?

Автор Igoritaly

Ответов: 2
Просмотров: 1905
Последний ответ 04.05.2017, 15:53:36
от SeBun