WPML
סטטוס
נפתר

סקירה כללית של התקלה

ייתכן שאתרים מסוימים ייתקלו בשגיאה הבאה במסוף JavaScript בדפים לוח הבקרה של ניהול תרגום או עבודות התרגום של ניהול תרגום:

app.js?ver=5.0.4:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

שגיאה זו תגרום גם להופעת סדרה של אזהרות PHP כגון אלה:

PHP Warning: Cannot modify header information - headers already sent in /app/public/wp-includes/rest-api/class-wp-rest-server.php on line 1258

PHP Stack trace:

PHP 1. {main}() /app/public/index.php:0

PHP 2. require() /app/public/index.php:17

PHP 3. wp() /app/public/wp-blog-header.php:16

PHP 4. WP->main() /app/public/wp-includes/functions.php:1105

PHP 5. WP->parse_request() /app/public/wp-includes/class-wp.php:737

PHP 6. do_action_ref_array() /app/public/wp-includes/class-wp.php:387

PHP 7. WP_Hook->do_action() /app/public/wp-includes/plugin.php:531

PHP 8. WP_Hook->apply_filters() /app/public/wp-includes/class-wp-hook.php:310

PHP 9. call_user_func_array:{/app/public/wp-includes/class-wp-hook.php:286}() /app/public/wp-includes/class-wp-hook.php:286

PHP 10. rest_api_loaded() /app/public/wp-includes/class-wp-hook.php:286

PHP 11. WP_REST_Server->serve_request() /app/public/wp-includes/rest-api.php:309

PHP 12. WP_REST_Server->send_header() /app/public/wp-includes/rest-api/class-wp-rest-server.php:224

PHP 13. header() /app/public/wp-includes/rest-api/class-wp-rest-server.php:1258

השגיאה ספציפית לאתרים המפעילים את PHP 5.6 ונגרמת על ידי אזהרת הוצאה משימוש שמופעלת על ידי PHP כאשר המשתנה הגלובלי $HTTP_RAW_POST_DATA מאוכלס (גם אם הוא אינו בשימוש), כפי שמוסבר כאן על ידי כותב שינוי זה ב־PHP:

[…] הדרך הנוכחית להפעלת הודעת ההוצאה משימוש היא מעט פחות מאופטימלית (אנחנו לא מציגים לך את ההודעה כשאתה מנסה לגשת למשתנה $HTTP_RAW_POST_DATA, אלא כאשר $HTTP_RAW_POST_DATA מאוכלס.

האזהרה מסבירה כיצד להסיר את הודעת ההוצאה משימוש.

פתרון עוקף

עריכת הקובץ php.ini


  1. מצא וערוך את הקובץ php.ini של השרת שלך.

  2. חפש שורה המכילה את המחרוזת always_populate_raw_post_data.

  3. אם השורה מתחילה בנקודה ופסיק (;), המשמעות היא שהיא מסומנת כהערה (ואינה בשימוש). במקרה זה, הסר את הנקודה ופסיק.

  4. בדוק שהשורה המלאה היא always_populate_raw_post_data=-1 (עליה להסתיים בערך “=-1”).

  5. הפעל מחדש את השרת.

שדרוג PHP


שדרוג PHP לגרסה עדכנית יותר (7.1 ומעלה) יסיר את אזהרת ההוצאה משימוש.

PHP 7.1 מהיר הרבה יותר מ־PHP 5.6.

PHP 5.6 הגיע לסוף מחזור החיים שלו ב־1 בינואר 2019. המשמעות היא שזו “גרסה שאינה נתמכת עוד. על המשתמשים בגרסה זו לשדרג בהקדם האפשרי, מכיוון שהם עלולים להיות חשופים לפגיעויות אבטחה שלא תוקנו.” (מקור: https://www.php.net/supported-versions.php).

כל התקלות הידועות →