Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14308|Відповідь: 0

[Вебсайт O&M] Виправлено баг у виході RSS після оновлення Discuz X3.2

[Копіювати посилання]
Опубліковано 27.04.2016 10:48:13 | | |
Я не знаю, чи це програмний баг
PHP error_log файл журналу помилок — це багато G.
Блокнот відкривається ось так

[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177
[06-листопад-2015 12:40:26 тощо/GMT-8] PHP Застарілий: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у D:\127.0.0.1\source\class\discuz\discuz_database.php на лінії 177


Discuz X3.2 має аномальний RSS-вихід після оновлення до версії 20141225. Код помилки виглядає так:

Помилка розбору XML: Синтаксична помилка
Місцезнаходження: http://www.xxx.com/forum.php?mod=rss
Рядок 2, Стовпець 1: Застаріло: mysql_escape_string(): Ця функція застаріла; Використовуйте mysql_real_escape_string() замість нього. у /xxx/xxx/xxx/source/class/discuz/discuz_database.php на лінії 177

Причина помилки полягає в тому, що використовується PHP-функція, яка була застарілою. Очевидно, що патч Discuz не тестували після завершення розробки, і навіть офіційний сайт не увімкнув RSS-вихід, і я навіть сумніваюся, що розробник має реальний рівень.


Цей код помилки з'являється лише у Firefox, і як IE, так і Chrome повідомляють про помилку без коду.

Метод фіксації також дуже простий — просто замініть функцію mysql_escape_string() у рядку 177 discuz_database.php на mysql_real_escape_string().






Попередній:Чи є jquery ajax із запитами на сесії cookie?
Наступний:Після запуску X3.2 PHP журнал запитів: PHP Strict Standards
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com