Перейти до вмісту

Інструкція по розгортанню K2 ERP PHP

Матеріал з K2 ERP Wiki

Налагодження

try_files $uri $uri/ /index.php?$args;
listen 80;

Після клонування у робочій папці мають з’явитися ті самі каталоги та файли, що були в попередній версії системи, але з оновленим кодом.;== Підготовка середовища розробника ==

PHP

}
  • mysql;
  • xml;
  • curl;
  • gd;
  • mbstring;
  • zip;
  • soap;
  • intl.; Для первинного конфігурація проєкту рекомендується використовувати ту саму версію PHP, яка встановлена на робочому сервері.;== Робота з Git ==
  • PHP;
  • PHP-FPM;
  • Nginx;
  • Git;
  • база даних, сумісна з PHP-модулями системи;
  • інструменти для адміністрування та розробки.;=== Перемикання між версіями PHP ===

Основними компонентами серверного середовища є собою:

  • отримання актуальних змін через `pull`;
  • внесення змін у код;
  • перевірка працездатності;
  • фіксація змін через `commit`;
  • відправка змін у репозиторій через `push`;
  • додавання змістовних коментарів до комітів.; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Див.; додатково

На різних серверах можуть використовуватися різні версії PHP.; У параметрі `fastcgi_pass` необхідно вказати сокет тієї версії PHP-FPM, яка застосовується проєктом.; server_name localhost;

 pecl install xdebug

Призначення

include snippets/fastcgi-php.conf;

Встановлення Xdebug через пакетний менеджер:

конфігурація додаються до відповідного файлу `php.ini`, як ілюстрація:

Шаблон:Примітки

apt install mc htop putty filezilla git ssh </syntaxhighlight> Перед клонуванням нового коду стару папку проєкту рекомендується перейменувати або зберегти як резервну копію.;=== Необхідні модулі PHP === Для роботи з кодом системи можуть використовуватися різні IDE та редактори коду.; Для налагодження PHP-застосунку має змогу використовуватися Xdebug.; платформа має змогу бути встановлена з наявних програмних кодів і застосовують, коли потрібно для автоматизації бізнес-процесів підприємства.; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f rs@corp2.net";

Приклад встановлення модулів для PHP 8.1:

це платформа класу ERP.;

 apt install nginx sudo systemctl start nginx sudo systemctl enable nginx

Приклад конфігурація Xdebug

Завантаження програмного коду

 sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-xml php8.1-curl php8.1-gd php8.1-mbstring php8.1-zip php8.1-soap php8.1-intl

Встановлення та запуск Nginx:

Приклади корисних інструментів:

 [xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=127.0.0.1 xdebug.client_port=9003
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PHP_VALUE "display_startup_errors=on";
include fastcgi_params;

або:

log_not_found off;

} </syntaxhighlight>

 sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update
  • відкриття головної сторінки системи;
  • роботу PHP-FPM;
  • коректність конфігурації Nginx;
  • доступність статичних файлів;
  • підключення до бази даних;
  • роботу основних модулів системи;
  • наявність помилок у логах.; Окремо варто відзначити що розгортається у вебсередовищі на базі PHP, Nginx і Linux виступає ключовою рисою K2 ERP PHP.;
     sudo apt-get install php-xdebug
    

Приклад встановлення модулів для PHP 7.4:

Примітки

Встановлення репозиторію PHP

}

Для актуалізація системи та встановлення базових інструментів можуть використовуватися команди:

 php -v

Посилання

 fastcgi_pass unix:/run/php/php8.1-fpm.sock;

Альтернативне встановлення через PECL:

Для встановлення різних версій PHP має змогу використовуватися репозиторій Ondřej Surý:

expires 24h;

Для розгортання K2 ERP PHP можуть використовуватися операційні системи сімейства Linux, зокрема:

Перед розгортанням системи можуть бути встановлені допоміжні програми для роботи з файлами, кодом, базами даних і віддаленими серверами.;

 php7.4 -v php8.1 -v
  • Debian;
  • Ubuntu;
  • інші сумісні Linux-дистрибутиви.; Для цього проєкт клонують у робочу директорію вебсервера, як ілюстрація у папку `www` або `k2shop`, залежно від структури репозиторію.;
     git clone <repository-url> www
    

Приклад конфігурації:

Після завантаження або актуалізація коду з Git необхідно перевірити, що платформа функціонує так само, як і до актуалізація.; location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {

Середовище розробки

}

Приклад загальної команди:

 php -m | grep xdebug
fastcgi_param PHP_VALUE "display_errors=on";

Для роботи системи можуть знадобитися такі PHP-модулі:

Nginx

 sudo -s apt update apt upgrade
Одним із професійних середовищ для PHP-розробки є собою PhpStorm.; як ілюстрація:
== Приклад конфігурації Nginx ==
 fastcgi_pass unix:/run/php/php7.4-fpm.sock;
Для обслуговування вебзастосунку застосовується вебсервер Nginx.; додатково має змогу використовуватися безкоштовний і кросплатформний редактор Visual Studio Code.; Приклади встановлення PHP 7.4 та PHP 8.1:

Перевірка наявності Xdebug:

Для перемикання між версіями PHP застосовується механізм `update-alternatives`:

роботи як вебзастосунок забезпечується через K2 ERP PHP призначена; додатково реалізовано що виконується на сервері з підтримкою PHP.; Щоб перевірити поточну версію PHP, застосовується команда:
=== Встановлення версій PHP ===

 location / {

sudo update-alternatives --config php

Перевірка встановлених версій:

 server {

<syntaxhighlight lang="nginx"> fastcgi_pass unix:/run/php/php7.4-fpm.sock;
location ~ \.php$ {
index index.php index.html index.htm;

Перевірка після актуалізація

Системне середовище

Нижче наведено приклад конфігурації віртуального хоста Nginx для PHP-проєкту:

rewrite /files/$ /index.php last;
root /mnt/prog/p/proj/php/real/clicktransfert.com/www;

Програмний код системи має змогу бути отриманий із Git-репозиторію.;

 sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74 sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 81

* Midnight Commander;
* htop;
* PuTTY;
* FileZilla;
* Git;
* SSH;
* Krusader;
* KDiff3;
* Kompare;
* DBeaver;
* Visual Studio Code;
* PhpStorm.; Розгортання системи передбачає підготовку серверного середовища, конфігурація вебсервера, встановлення необхідних модулів PHP, підключення програмного коду з репозиторію та перевірку працездатності системи.; * `/etc/php/7.x/cli/php.ini`;
* `/etc/php/7.x/apache2/php.ini`;
* `/etc/php/7.x/fpm/php.ini`.; Під час подальшої розробки необхідно дотримуватися стандартного циклу роботи з Git:

* [[ERP]]
* [[PHP]]
* [[Nginx]]
* [[PHP-FPM]]
* [[Git]]
* [[Linux]]
* [[Ubuntu]]
* [[Debian]]
* [[Xdebug]]

Рекомендовано перевірити:
<syntaxhighlight lang="bash"> sudo apt-get install php7.4 php7.4-cli php7.4-fpm sudo apt-get install php8.1 php8.1-cli php8.1-fpm
 sudo apt install php7.4-fpm php7.4-cli php7.4-mysql php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-zip php7.4-soap php7.4-intl