Ошибка 500 после перевода сайта на PHP 5.5 или PHP 7
Проблема, с которой сталкиваются многие программисты после перевода площадки на современную версию PHP, — вероятная полная или частичная потеря работоспособности программного обеспечения на одном или нескольких сайтах площадки. Не предавайтесь панике, всё решаемо!
Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.
В PHP 7 разработчики отказались от расширения mysql, все использования функций расширения приводят к фатальной ошибке (Call to undefined function).

Как заменить неработающие функции mysql_connect(), mysql_select_db(), mysql_query()? Ошибка «PHP Fatal Error: Call to undefined function»
Решения проблемы есть и даже не одно!
Есть достойная альтернатива mysql — расширение mysqli. Функции расширения соответствуют старым (большая часть):
mysqli_fetch_array() //расширение mysqli mysql_fetch_array() //расширение mysql
1. Если у вас небольшой проект, вам будет несложно через поиск найти несколько строк в коде с функциями, начинающимися с «mysql_*» расширения mysql. Вручную отредактируйте код, заменив «mysql_*» на «mysqli_*».
2. Если у вас большой проект или вы очень активно пользовались функциями расширения mysql, вам будет непросто поменять все упоминания устаревших функций. В таком случае вам поможет следующее решение. Создайте PHP-файл, в котором определите функции с именами исключённых, которые будут ссылаться на соответствующие функции расширения mysqli.
Пример кода новой библиотеки. Не надо перечислять все функции расширения, это излишний перфекционизм. Создайте только те, которые встречаются в ваших проектах.
<? function mysql_connect($server, $username, $password, $new_link = NULL, $client_flags = NULL) { $GLOBALS['mysql_oldstyle_link'] = mysqli_connect($server, $username, $password); return $GLOBALS['mysql_oldstyle_link']; } function mysql_query($sql) { return mysqli_query($GLOBALS['mysql_oldstyle_link'], $sql); } function mysql_fetch_row($res) { return mysqli_fetch_row($res); } function mysql_fetch_assoc($res) { return mysqli_fetch_assoc($res); } function mysql_fetch_array($res) { return mysqli_fetch_array($res); } function mysql_fetch_object($res) { return mysqli_fetch_object($res); } function mysql_affected_rows($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_affected_rows($link); } function mysql_insert_id($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_insert_id ($link); } function mysql_select_db($database_name) { return mysqli_select_db($GLOBALS['mysql_oldstyle_link'], $database_name); } function mysql_errno($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_errno($link); } function mysql_error($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_error($link); } function mysql_num_rows($res) { return mysqli_num_rows($res); } function mysql_free_result($res) { return mysqli_free_result($res); } function mysql_close($link) { return mysqli_close($link); } function mysql_real_escape_string($sql, $link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_real_escape_string($link, $sql); } function mysql_get_server_info($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_get_server_info($link); } ?>
Данный код сохраните в файл, назовите его, например, deletedmysql.php и сохраните в корне сайта (на одном уровне с index.php главной страницы сайта).
В каждый PHP-файл, в котором встречается ошибка, добавьте строку в самое начало файла, после открывающего кода:
<? include_once 'deletedmysql.php'; /* далее старый PHP-код */
Совсем идеально будет добавить проверку на версию PHP, так как при переезде на другую площадку или понижении версии PHP до 5.x вы получите ошибку PHP: Fatal error: Cannot redeclare…
if (version_compare(PHP_VERSION, '7.0.0', '>=')) include_once 'deletedmysql.php';
Маленький лайфхак для тех, кому понравился способ 2. Используйте это решение только в качестве временной заглушки. При удобном случае перепрограммируйте код на использование новых функций.
PHP Fatal error: Uncaught Error: Call to undefined function split()
В PHP 7 функция spit() — разбиение строки на массив по регулярному выражению, — была исключена. Альтернатива есть, функции preg_split(), str_split(), explode().

В приведённом примере разбить командную строку можно любой функцией. Лично я предпочитаю explode().
Комментарии: