Requirements
Server Configuration
- Server: Apache 2 or NGINX
- RAM: 8GB or higher
- Node: 18.12.0 LTS or higher
- PHP: 8.2 or higher
- Composer: 2.2.0 or higher
PHP Extensions
Ensure the following extensions are installed and enabled. You can check using the phpinfo() page or the php -m command.
php-curl extension: This extension is required for making HTTP requests within UnoPim.
php-fileinfo extension: The
fileinfoextension is used for file type detection, important for handling file uploads.php-gd extension: The
php-gdextension must be properly installed to ensure correct image functionality in the project. If not installed correctly, image-related features may not work as expected.Note
It is important to ensure proper installation of the
php-gdextension to avoid any issues with image manipulation in UnoPim.php-intl extension: This extension is required for internationalization support in UnoPim, enabling features like locale settings.
php-mbstring extension:
mbstringis required for handling multibyte string operations, which is important when working with non-ASCII characters.php-openssl extension: This extension enables secure communication using SSL/TLS protocols, required for encrypting data and secure file transfers.
php-pdo extension: The
PDOextension is necessary for database interactions, providing a consistent interface for working with different databases.php-pdo_mysql extension: This extension is required specifically for connecting to MySQL databases through PDO in UnoPim.
php-tokenizer extension: The
tokenizerextension is needed for working with code parsing and analyzing tokens in the application.php-zip extension: This extension enables file compression and extraction features, allowing UnoPim to handle zip file imports and exports.
How to Install PHP Extensions
On Windows
Locate the
php.inifile:- This file is typically located in your PHP installation directory (e.g.,
C:\php\php.iniorC:\xampp\php\php.ini).
- This file is typically located in your PHP installation directory (e.g.,
Enable the extensions:
- Open the
php.inifile in a text editor and find the extensions listed below. - Uncomment the lines by removing the
;at the beginning. If the extension is not listed, you'll need to download the corresponding.dllfile.
iniextension=curl extension=fileinfo extension=gd extension=intl extension=mbstring extension=openssl extension=pdo extension=pdo_mysql extension=tokenizer extension=zip- Open the
Download missing
.dllfiles (if needed):- If any extension is missing, visit the PECL repository or download the
.dllfiles from the PHP Windows downloads page.
- If any extension is missing, visit the PECL repository or download the
Restart your web server:
- After saving the
php.inifile, restart Apache or NGINX to apply the changes.
- After saving the
On Linux
Install extensions via the package manager:
- Use the following commands based on your Linux distribution to install the required extensions.
For Ubuntu/Debian:
bashsudo apt update sudo apt install php-curl php-fileinfo php-gd php-intl php-mbstring php-openssl php-pdo php-pdo-mysql php-tokenizer php-zipFor CentOS/RHEL:
bashsudo yum install php-curl php-fileinfo php-gd php-intl php-mbstring php-openssl php-pdo php-pdo_mysql php-tokenizer php-zipFor Fedora:
bashsudo dnf install php-curl php-fileinfo php-gd php-intl php-mbstring php-openssl php-pdo php-pdo_mysql php-tokenizer php-zipRestart the web server:
- Once the extensions are installed, restart your Apache or NGINX server.
bashsudo systemctl restart apache2 # For Ubuntu/Debian sudo systemctl restart httpd # For CentOS/RHEL/Fedora sudo systemctl restart nginx # If you're using NGINXVerify the extensions:
- You can verify the installed extensions by running:
bashphp -m
On macOS
Install PHP Extensions via Homebrew:
bashbrew install php brew install php-curl brew install php-gd brew install php-intl brew install php-mbstring brew install php-openssl brew install php-pdo brew install php-zipVerify PHP Version and Extensions:
bash# Check PHP version php -v # List installed PHP extensions php -mConfigure PHP Extensions:
- Locate your
php.inifile:
bashphp --ini- Edit the
php.inifile to enable extensions:
iniextension=curl extension=fileinfo extension=gd extension=intl extension=mbstring extension=openssl extension=pdo extension=pdo_mysql extension=tokenizer extension=zip- Locate your
Restart PHP-FPM (if using):
bashbrew services restart php
PHP Configuration
Open your php.ini file and modify the following settings.
memory_limit: Set the
memory_limitdirective to4Gor higher to ensure sufficient memory allocation for the application.max_execution_time: Adjust the
max_execution_timedirective to360or higher. This value determines the maximum time (in seconds) a script is allowed to run. Increasing this value ensures that longer operations, such as import/export processes, can be completed successfully.date.timezone: Set the
date.timezonedirective to your specific timezone. For example,Asia/Kolkata. This ensures that date and time-related functions work accurately based on the specified timezone.
memory_limit = 4G
max_execution_time = 360
date.timezone = Asia/Kolkata <- Change this to your own timezone.Remember to restart your web server
Whenever you make changes to the PHP configuration file, be sure to restart Apache or NGINX to apply the modifications.
Supported Database Servers
UnoPim supports the following database servers:
MySQL: Version 8.0.32 or higher is recommended for optimal performance and compatibility.
MariaDB: Version 10.3 or higher is recommended for optimal performance and compatibility.
Database Collation: The recommended collation for the database is
utf8mb4_unicode_ci, which ensures proper handling of Unicode characters and multilingual support.