Installation

The easiest way to try KPHP is using Docker, since KPHP is available in the official Docker registry.

Docker is the preferred way to test out KPHP. For production, we recommend installing deb packages.

Install KPHP from the Docker registry

Execute the following command:

docker pull vkcom/kphp

Wait a couple of minutes for all dependencies to download and install, and you're done.

Now you are ready for the next step: Compile a sample PHP script.

Depending on your settings, some systems can require sudo for Docker commands (even for docker ps).
If docker ... doesn’t work, use sudo docker ...

Install KPHP from the Dockerfile manually

If you don't want to use the Docker registry, take the latest Dockerfile from here (either git clone or just save it).
In the same folder, execute the following:

docker build -t kphp .

And that's it, you can now proceed to the next step.

Install KPHP from .deb packages

If you don't want to use Docker at all, feel free to use .deb packages available at the vk.com artifactory.
This is the preferred way to set up KPHP on production servers.

Add artifactory-external.vkpartner.ru to sources.list.d

# trusted key
wget -qO /etc/apt/trusted.gpg.d/vkpartner.asc https://artifactory-external.vkpartner.ru/artifactory/api/gpg/key/public

# for Ubuntu 20.04 (focal)
echo "deb [arch=amd64] https://artifactory-external.vkpartner.ru/artifactory/kphp focal main" | sudo tee /etc/apt/sources.list.d/vkpartner.list

# for Ubuntu 22.04 (jammy)
echo "deb [arch=amd64] https://artifactory-external.vkpartner.ru/artifactory/kphp jammy main" | sudo tee /etc/apt/sources.list.d/vkpartner.list

# for Debian 10 (buster)
echo "deb [arch=amd64] https://artifactory-external.vkpartner.ru/artifactory/kphp buster main" | sudo tee /etc/apt/sources.list.d/vkpartner.list

# for Debian 11 (bullseye)
echo "deb [arch=amd64] https://artifactory-external.vkpartner.ru/artifactory/kphp bullseye main" | sudo tee /etc/apt/sources.list.d/vkpartner.list

Install KPHP packages

sudo apt update
sudo apt install kphp vk-tl-tools

# If you want to use php for development, you need to install vkext of the corresponding php version.
# The following versions are available: 7.4, 8.0, 8.1, 8.2.
sudo apt install php7.4-vkext

sudo mkdir -p /var/www/vkontakte/data/www/vkontakte.com/tl/
sudo tl-compiler -e /var/www/vkontakte/data/www/vkontakte.com/tl/scheme.tlo /usr/share/vkontakte/examples/tl-files/common.tl /usr/share/vkontakte/examples/tl-files/tl.tl

Having done all these steps, you'll have the kphp command and related ones to use later on.

You can now proceed to the next step.

Install KPHP for MacOS

KPHP isn't available as a Homebrew package, but can be compiled from sources or run using Docker.

Install KPHP for Windows

KPHP isn't available on Windows. Strange as it might seem, please use Docker instead.

Install KPHP from source

Typically, the only time when you'd need to compile KPHP from scratch is when you're installing it on a Unix-based system without apt support.

This process is rather complicated and therefore described on a separate page.