@SimplyDemon по поводу гибкого поиска, поставить sphinx/manticore/elastic не вариант?
а почему у тебя json не должен нумероваться, если ты из базы несколько записей выбираешь и закидываешь их в массив 'loan'? $response['loan'][]=$row;
у тебя управление настройками сервера через панель хостера, не?
https://docs.moodle.org/dev/PHP_error_logs сам переведешь?)
вначале, после <? или <?php на следующей строчке
про IIS все забыли?) на нем тоже можно запустить :D