Перейти к содержанию

Ошибка при добавлении сервера в SourceBans: Решение проблемы с deprecated функцией get_magic_quotes_gpc()


Рекомендуемые сообщения

  • Админ
Опубликовано

После установки системы управления банами SourceBans, известной также как MATERIAL Admin - SourceBans++, пользователи могут столкнуться с ошибкой при попытке добавить первый сервер. Ошибка, которая может возникнуть, выглядит следующим образом:

Deprecated: Function get_magic_quotes_gpc() is deprecated in /var/www/pro538/data/www/lk.cssold.ru/bans/includes/xajax.inc.php on line 705

Эта ошибка происходит из-за использования устаревшей функции get_magic_quotes_gpc(), которая была удалена в более новых версиях PHP. Давайте разберемся, что это за ошибка и как с ней справиться.

Причины возникновения ошибки

Функция get_magic_quotes_gpc() была частью PHP до версии 7.4. Ее использовали для определения, включены ли "магические кавычки" (magic quotes) в конфигурации PHP. Магические кавычки автоматически экранировали символы, такие как кавычки и обратные слэши, в данных, поступающих из форм или URL. Однако, начиная с версии PHP 5.4, эта функция была признана устаревшей, а в PHP 7.4 и выше она была полностью удалена.

Соответственно, если ваш сервер работает на PHP версии 7.4 или выше, попытка выполнения этой функции вызывает предупреждение об устаревшей функции, как показано в ошибке.

Решение проблемы

Чтобы исправить ошибку, существует несколько подходов. Рассмотрим основные из них.

1. Понижение версии PHP до 7.3

Самым простым решением будет понижение версии PHP на сервере до 7.3. Эта версия еще поддерживает функцию get_magic_quotes_gpc(), что позволит избежать возникновения предупреждения. Для этого выполните следующие шаги:

  • Откройте конфигурацию веб-сервера (например, Apache или Nginx).
  • Установите PHP 7.3, если он не установлен.
  • Включите или переключите вашу среду на PHP 7.3. Для Apache это может быть сделано через команду:
sudo a2dismod php8.0
sudo a2enmod php7.3
sudo systemctl restart apache2
  • Перезапустите веб-сервер.

После этого ошибка должна исчезнуть, так как версия PHP 7.3 поддерживает работу с функцией get_magic_quotes_gpc().

2. Обновление кода для совместимости с новыми версиями PHP

Если понижение версии PHP по каким-либо причинам невозможно, рекомендуется обновить код, исключив использование устаревших функций. В частности, следует заменить get_magic_quotes_gpc() на соответствующие проверки, которые работают в новых версиях PHP.

Для этого в файле xajax.inc.php на строке 705 можно заменить:

if (get_magic_quotes_gpc()) {

на:

if (ini_get('magic_quotes_gpc')) {

Этот код будет работать аналогично, проверяя наличие включенной опции магических кавычек в конфигурации PHP, но без использования устаревшей функции.

3. Использование режима совместимости в PHP 7.4 и выше

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

Для этого добавьте в файл конфигурации php.ini следующее:

error_reporting = E_ALL & ~E_DEPRECATED

Этот параметр отключит отображение предупреждений о deprecated-функциях.

Заключение

Ошибка с get_magic_quotes_gpc() при добавлении сервера в SourceBans может быть решена несколькими способами. Если понижение версии PHP до 7.3 возможно, это может быть наиболее простым и быстрым решением. Однако для долгосрочной совместимости рекомендуется обновить код, чтобы исключить использование устаревших функций. В любом случае, важно поддерживать систему в актуальном состоянии, чтобы избежать проблем с безопасностью и производительностью.

  • Ответов 0
  • Создана
  • Последний ответ

Топ авторов темы

Популярные дни

Топ авторов темы

Популярные дни

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...

Важная информация

Мы используем cookie для обеспечения работы сайта и улучшения пользовательского опыта. Продолжая использовать сайт, вы соглашаетесь на их использование. Подробнее: Условия использования, Политика конфиденциальности, Правила. Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.