### Server requirements

##### Make sure all requirement meets before installation.

It is always recommended to use better server configuration for better performance and low latency. Low configured server and shared server might be time consuming and give less performance.

- #### 01. PHP version

  - Required PHP version must be 8.1

- #### 02. Php Environment

  - Make sure to all extensions are available.
  Please check your php.ini/php extension configuration and make sure there are no function that are called by the queue driver, such as, `proc_open`, `pcntl_alarm`, `pcntl_async_signals`, `pcntl_async_signals`, `pcntl_signal` in the `disable_functions`.
  If there any you’ll need to remove/enable those functions. Or you can contact with your hosting service provider.

  ##### PHP Configuration

  Open your php configuration file php.ini and change the following settings.

  - max_execution_time = 30000
  - max_input_time = 30000
  - memory_limit = 128M
  - post_max_size = 128MB
  - Upload_max_filesize = 128M

  If you are using Cpanel, login your Cpanel > search “MultiPHP INI Editor or Select PHP version/selector” and increase the above Options. Also,you can follow the Tutorials to change your PHP memory limit settings: https://youtu.be/cH0vQwGoPA0

- #### 03. Php option

  - Make sure below options are enabled.

- #### 04. Mysql version

  - Minimum requirement for Mysql version is 5.6. (Maria DB Version >= 10.2+)
  - Application won't work properly without recommended mysql version.

- #### 05. Folder Permission

  Please check folder permission meets with requirement.

  - .env
  - config/gain.php
  - bootstrap/
  - bootstrap/cache/
  - storage/
  - storage/logs/
  - storage/framework/

- #### 06. Symlink Permission

  Symlink permission must be enabled.

  - If symlink() is disabled then you will not be able to change any images on the application (Profile picture, icon etc..).

  - You might get response "symlink() has been disabled for security reasons". In this case please contact with your hosting provider to enable it.

  - Alternatively if service provider denied to enable symlink then you can use cron job from you cpanel.

  - Create a cron job using this command "ln -s target_link storage_link" (need to replace target_link and storage_link what you get from the response).