Системные требования и установка
Требования
- PHP:
8.0-8.4+
- Обязательные модули PHP:
mbstring
,curl
,json
- Рекомендуемые модули PHP:
redis
,pcntl
,posix
,ffi
—redis
- Для игнорирования дублирующихся событий VK API
—pcntl + posix
- Многопоточная обработка событий через LongPoll
—ffi
- Авто-ускорение фреймворка с помощью встроенныхС
модулей
Установка на Debian/Ubuntu
Для установки PHP и необходимых модулей выполните команду (замените 8.4 на вашу версию PHP, если требуется):
sudo apt-get install php8.0 php8.0-mbstring php8.0-curl php8.0-openssl
Установка PHP
,mbstring
,curl
в Windows 10:
mbstring
уже установлен в windows.
Для установки php используйте эту статью
Для установки curl скачайте его отсюда и распакуйте на диск C:
Включение PHP модулей в php.ini
После установки PHP и модулей, найдите файл php.ini в папке с установленным php и раскомментируйте следующие строки( убрать ;
):extension=curl
extension=mbstring
extension=openssl
Если на сервере есть Apache
То необходимо еще настроить php.ini внутри apache, чтобы бот мог нормально работать с callback.
Также, необходимо перезагружать apache после настройки PHP следующей командой:
sudo service apache2 restart
Диагностика
Чтобы убедится, что вы установили все правильно, и ваш сервер готов к работе с SimpleVK, необходимо создать и запустить следующий скрипт:
<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
\DigitalStars\SimpleVK\Diagnostics::run();
Если вы делаете longpoll бота, то запускайте диагностику через консоль
Если вы делаете callback бота, то запускайте диагностику через браузер
Примерный вывод диагностики:
Заметка о работе библиотеки на бесплатных хостингах
Библиотека может стабильно функционировать только в том случае, если на хостинге используется веб-сервер nginx
или apache
, а также хостинг не запрещает отправлять кастомные header
изнутри PHP
(Иначе библиотека не сможет закрывать соединение с ВК до окончания выполнения скрипта, и высок шанс, что ВК не сможет получить ответ от скрипта вовремя, и начнет слать события заново).
Например, бесплатный хостинг 000webhost
использует самописный веб-сервер, поэтому на нем работать нормально не будет.