Інструкція по розгортанню K2 ERP PHP
Налагодження
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