Всем привет, вопрос такой: создаю игру, суть - строительство. Игра онлайн, и важной деталью является то, что игра должна хранить все переменные в бд. То есть, чтобы что-то купить, я отправляю запрос к php-скрипту, который проверяет, есть ли у игрока деньги и возвращает определенный результат(1 или 0). Таких php скриптов у меня много и выполняют они разные функции. Хостинг постепенно выдает ошибку, что подключение к бд в час ограниченно. Есть ли какой-то способ один раз подключиться к бд и использовать это подключение для всех скриптов, или может кто-то подскажет, как сделать сервер, куда можно будет отправлять запросы к php-скриптам(то есть он тоже будет использовать одно подключение к бд), а может посоветуете хостинг, где такой проблемы не будет?
Очень жду ваших ответов.
Заранее спасибо.
В PHP каждый запущенный скрипт создает своё подкдючения к базе данных (одно), однако при правильно написанном коде PHP должен освободить соединение.
Так что скорее всего в код закралась ошибка и её нужно исправить.
P.S. В качестве совета, PHP не лечший вариант игрового бэкенда. Я бы посоветовал посмотреть в сторону NodeJS
AnderZero, ну почему же?) Просто есть особенности. Напомню что полно крупных проектов, написанных на php: Facebook, Avito, Badoo. Хватает и игр на нем. Все зависит от того как спроектировать
DevMan, я думаю можно согласиться, что решение "Надо просто не запускать игры на хостинге за три копейки.", Тоже неверно. Сверху я написал, что ищу любое решение, которые мне подойдет и такое решение мне дали, посоветовали не использовать PHP в таком вопросе, т. к. Обычно в таких случаях используется NodeJS.
AnderZero, ноду так же не запустить на хостинге за 3 копейки.
обычно в таких случаях используют то, с чем умеют работать. это может быть и пхп, и нода, и ява, и еще куча вариантов.
DevMan, Это то понятно, но создать постоянное соединение с бд и постоянный веб-сокет на NodeJS оказалось просто. В первой же статье я нашел и сервер и сокеты, в то время как PHP заставил меня задавать вопрос здесь, потому что в Гугле ничего найти не смог.