اگر در حال مطالعه این مقاله هستید احتمالا به تازگی اقدام به ارتقا نسخه PHP به 7.1 یا بالاتر کرده اید. طبیعتا با ارتقا نسخه های PHP برخی از توابع قدیمی یا منسوخ شده حذف شده و دیگر غیر قابل پشتیبانی هستند.
یکی از توابعی که در PHP 7.1 و بالاتر پشتیبانی نمی شود، set_magic_quotes_runtime نام دارد. در اینگونه مواقع وبسایت شما با خطایی مشابه متن زیر مواجه می شود:
Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in /home/USER/public_html/Path/…/file.php:382 Stack trace: #0 /home/USER/public_html/index.php(21): require_once() #1 {main} thrown in //home/USER/public_html/Path/…/file.php on line 382
دلیل خطا
تابع set_magic_quotes_runtime در PHP 5.3 منسوخ شد اما تا PHP 5.6 و 7.0 امکان استفاده از آن وجود داشت. تا اینکه در PHP7.1 و بالاتر دیگر ارایه نشد و لذا در نسخه های جدید غیر قابل استفاده است.
نحوه رفع خطا
به این منظور کافیست به فایل درج شده در متن خطا مراجعه و در خط اشاره شده (در مثال ما 382) به جای set_magic_quotes_runtime(true) یا set_magic_quotes_runtime(1) عبارت زیر را جایگزین کنید:
if (!function_exists('set_magic_quotes_runtime')) { function set_magic_quotes_runtime($new_setting) { return true; } }
کار تمام شد!