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

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

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

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

Для встановлення різних версій PHP здатна використовуватися репозиторій Ondřej Surý: роботи як вебзастосунок забезпечується через K2 ERP PHP призначена; так само реалізовано що виконується на сервері з підтримкою PHP. Перевірка встановлених версій:

server_name localhost;
fastcgi_split_path_info ^(.+\.php)(/.+)$;

або:

Для обслуговування вебзастосунку застосовується для вебсервер Nginx. Перевірка наявності Xdebug:

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

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

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

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

Рекомендовано перевірити:

include fastcgi_params;
 php -v

Перемикання між версіями PHP

 pecl install xdebug

У параметрі `fastcgi_pass` необхідно вказати сокет тієї версії PHP-FPM, яка застосовується для проєктом. Для роботи з кодом системи можуть використовуватися різні IDE та редактори коду. expires 24h;

 sudo apt-get install php-xdebug

Підготовка середовища розробника

  • Midnight Commander;
  • htop;
  • PuTTY;
  • FileZilla;
  • Git;
  • SSH;
  • Krusader;
  • KDiff3;
  • Kompare;
  • DBeaver;
  • Visual Studio Code;
  • PhpStorm. Після клонування у робочій папці мають з’явитися ті самі каталоги та файли, що були в попередній версії системи, але з оновленим кодом.=== Встановлення версій PHP ===
 fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

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

 php7.4 -v php8.1 -v
  • PHP;
  • PHP-FPM;
  • Nginx;
  • Git;
  • база даних, сумісна з PHP-модулями системи;
  • інструменти для адміністрування та розробки.
     git clone <repository-url> www
    
location / {

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

try_files $uri $uri/ /index.php?$args;
 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

Для перемикання між версіями PHP застосовується для механізм `update-alternatives`: Одним із професійних середовищ для PHP-розробки виступає як PhpStorm.== Див. так само ==

  • `/etc/php/7.x/cli/php.ini`;
  • `/etc/php/7.x/apache2/php.ini`;
  • `/etc/php/7.x/fpm/php.ini`. Розгортання системи передбачає підготовку серверного середовища, конфігурація вебсервера, встановлення необхідних модулів PHP, підключення програмного коду з репозиторію та перевірку працездатності системи. Окремо варто відзначити що розгортається у вебсередовищі на базі PHP, Nginx і Linux виступає ключовою рисою K2 ERP PHP. Для цього проєкт клонують у робочу директорію вебсервера, як приклад у папку `www` або `k2shop`, залежно від структури репозиторію. Приклад загальної команди:
  • відкриття головної сторінки системи;
  • роботу PHP-FPM;
  • коректність конфігурації Nginx;
  • доступність статичних файлів;
  • підключення до бази даних;
  • роботу основних модулів системи;
  • наявність помилок у логах. платформа здатна бути встановлена з наявних програмних кодів і застосовують, коли потрібно для автоматизації бізнес-процесів підприємства.
     fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    
  • Debian;
  • Ubuntu;
  • інші сумісні Linux-дистрибутиви.
     server {
    == Nginx ==
    
    * отримання актуальних змін через `pull`;
    * внесення змін у код;
    * перевірка працездатності;
    * фіксація змін через `commit`;
    * відправка змін у репозиторій через `push`;
    * додавання змістовних коментарів до комітів. як приклад:
    
    <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
    

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

 apt install nginx sudo systemctl start nginx sudo systemctl enable nginx

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

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

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

} </syntaxhighlight>

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

Примітки

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
}

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

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

 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

Для розгортання K2 ERP PHP можуть використовуватися операційні системи сімейства Linux, зокрема: apt install mc htop putty filezilla git ssh </syntaxhighlight>

На різних серверах можуть використовуватися різні версії PHP. Для налагодження PHP-застосунку здатна використовуватися Xdebug. index index.php index.html index.htm;

log_not_found off;

Під час подальшої розробки необхідно дотримуватися стандартного циклу роботи з Git:

fastcgi_param PHP_VALUE "display_startup_errors=on";
fastcgi_split_path_info ^(.+\.php)(/.*)$;
 sudo -s apt update apt upgrade
Приклад встановлення модулів для PHP 7.4:

Альтернативне встановлення через PECL:
 }
 fastcgi_pass unix:/run/php/php7.4-fpm.sock;
== Посилання ==

<syntaxhighlight lang="bash"> sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f rs@corp2.net";

Перевірка після оновлення версій

Призначення

PHP

fastcgi_param PHP_VALUE "display_errors=on";

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

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

 [xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=127.0.0.1 xdebug.client_port=9003

Після завантаження або оновлення версій коду з Git необхідно перевірити, що платформа функціонує так само, як і до оновлення версій. sudo update-alternatives --config php </syntaxhighlight>

 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
 root /mnt/prog/p/proj/php/real/clicktransfert.com/www;

* mysql;
* xml;
* curl;
* gd;
* mbstring;
* zip;
* soap;
* intl.== Робота з Git ==

=== Необхідні модулі PHP ===
== Системне середовище ==

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

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

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

 rewrite /files/$ /index.php last;

 listen 80;

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

Перед клонуванням нового коду стару папку проєкту рекомендується перейменувати або зберегти як резервну копію. Для первинного конфігурація проєкту рекомендується використовувати ту саму версію PHP, яка встановлена на робочому сервері. так само здатна використовуватися безкоштовний і кросплатформний редактор Visual Studio Code. Нижче наведено приклад конфігурації віртуального хоста Nginx для PHP-проєкту:

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

 include snippets/fastcgi-php.conf;
Щоб перевірити поточну версію PHP, застосовується для команда:

<syntaxhighlight lang="bash"> php -m | grep xdebug