Заморозка сервера в конец срока оплаты?
Дык у вас бесконечный цикл.
1. Получать из базы надо только нужные данные, а не все разом.
2. mysqli_fetch_assoc надо вызывать для получения каждой следующей строки из базы.
--$sql2 = "SELECT * FROM `servers`";
++$sql2 = "SELECT 'id' FROM `servers` WHERE `pay_date` = CURDATE()";
--$ress2 = mysqli_fetch_assoc($res2);
--while($ress2) {
++while ($ress2 = mysqli_fetch_assoc($res2)) {
Я бы ещё добавил условие, что сервер не заморожен.
И вызывать такой скрипт достаточно раз в сутки, так как он завязан только на текущую дату.
У PHP сервера есть настройка в конфиге php.ini - макс. время выполнения скрипта - max_execution_time.
Для долгоиграющих скриптов, обычно, разработчики либо в конфиге (повлияет на все скрипты), либо в htaccess (повлияет на скрипты в пределах каталога), либо в самом скрипте через функцию set_time_limit() корректируют этот параметр, чтобы таким скриптам хватило время на выполнение. Выкручивать этот параметр не нужно для всего сервера, иначе если в частонагруженных скриптах будут проблемы по зацикливанию, то их зависание скушает всю оперативную память сервера при многократном запуске.