Requirements
Softwares
- PHP 8.1 or higher
- Database (eg: MySQL, PostgreSQL, SQLite)
- Redis 6.2 or higher
- Web Server (eg: Apache, Nginx, IIS)
- URL Rewrite (eg: mod_rewrite for Apache)
- Supervisor
- FFmpeg
- Curl
- Zip
- Unzip
- Cron
PHP extensions
- php-curl
- php-mysql
- php-bcmath
- php-gd
- php-mbstring
- php-redis
- php-xml
- php-zip
- php-intl
These extensions are version-specific for PHP, so if you have PHP 8.2.x installed you would run:
sudo apt install php8.2-curl php8.2-mysql php8.2-bcmath php8.2-gd php8.2-mbstring php8.2-redis php8.2-xml php8.2-zip php8.2-intl
In Plesk, you can install or upgrade PHP via "Tools & Settings -> Plesk -> Updates"
Enabling Specific PHP Functions
In PHP, certain functions are disabled by default for security reasons. To utilize these functions, you need to modify the disable_functions
directive in the php.ini
file. This guide will walk you through enabling the pcntl_signal
and pcntl_alarm
functions, which are commonly disabled.
Example before editing:
disable_functions = pcntl_alarm, pcntl_signal, exec, shell_exec
Example after editing:
disable_functions = exec, shell_exec