Для правильного вопроса надо знать половину ответа
В виде журнала транзакций (приход/расход) отдельной таблицей и дополнительного поля "баланс" в основной таблице. Дополнительное поле менять триггером AFTER INSERT из таблицы транзакций.
Периодические списания выполнять отдельным скриптом, запускаемым из cron.
Если запрос до нгинкса не дошёл, то и в логах никаких ошибок не будет. Показателем, что нгинкс не справляется будет увеличение времени ответа и 503 ошибки.
Недовольных пользователей лучше диагностировать, хотя бы поняв, что у них за ОС/браузер.
На чистом PHP невозможно. Только отправить.
Сам прием надо делать на HTML service workers. При этом для сафари например надо будет пилить свои пуши через сертификат разработчика.
Так что советую лучше не мучиться, а например выбрать универсальный сервис - PushAll. Т.к. например уведомления на мобильные устройства через браузер полноценно не сделать.
считай до даты.
если нужно определенное кол-во времени после первого открытия, то писать текущее значение (либо момент начала\конца отсчета) в cookie, storage, как уже подсказали выше
1) При регистрации на js делаете проверку и сообщаете юзеру про неправильно введенный номер, если он введен неправильно. На сервере делаете повторную проверку, и если номер её не проходит, то ничего не возвращаете.
2) +XXXXXXXXXXX
3) +7 (XXX) XXX-XX-XX
Гугл дает возможность разместить не просто видео, а целый плейлист, соответственно, добавляя на ютубе видео в плейлист оно будет появляться и на сайте - это простой способ в два клика и копипаста.
Или же любая фантазия через api, ссылку на которое Вам уже дал Евгений