Zmiana PHP 7.0 na PHP 7.4 w środowisku aplikacji eKsięgowy

Informacje ogólne.
 

Opis przeznaczony dla środowiska Debian 11, Debian 10 oraz Debian 9, PHP 7.0, oraz gdy inne aplikacje oprócz eKsięgowego nie używają PHP.
Aby wykonać wszystkie poniższe kroki należy zalogować sie do konsoli sytemu Debian na użytkownika root (np. przez program putty).
Aby wykonać aktualizację PHP do wersji 7.4 system eKsięgowy musi być w wersji 6.4.6 lub wyższej.
Przed przystąpieniem do aktualizacji sugerujemy wykonanie kopii katalogu /var/www/eksiegowy.
Możemy to wykonać za pomocą programu mc lub za pomocą poniższego polecenia
 
tar --exclude=/var/www/eksiegowy/storage -czvf  /home/eksiegowy_kopia.tgz /var/www/eksiegowy



Powyższe polecenie utworzy nam spakowany plik o nazwie eksiegowy_kopia.tgz w katalogu /home który zawiera zawartość katalogu aplikacji eKsięgowy za wyjątkiem katalogu storage
Jeśli eKsięgowy znajduje się na maszynie wirtualnej zalecamy kopię całej maszyny wirtualnej.
Jeżeli mamy Debian 11 lub Debian 10 wykonujemy punkt 2a, jeżeli mamy Debian 9 wykonujemy punkt 2b

Kroki jakie należy wykonać aby zaktualizować PHP do wersji 7.4 oraz dostosować aplikację eKsięgowy do wersji na PHP7.4:
1. odinstalowanie obecnej wersji PHP (7.0)
2. instalacja PHP w wersji 7.4
  a. Debian 11, 10
  b. Debian 9
3. dodanie IonCubeLoadera w odpowiedniej wersji
4. zmiana w pliku php.ini
5. wgranie kodu aplikacji eKsięgowy w wersji na PHP 7.4
6. zalogowanie się do administratora eKsięgowy i wykonanie ewentualnej aktualizacji bazy danych

1. odinstalowanie obecnej wersji PHP (7.0)

Aby odinstalować obecnie używaną wersję PHP należy po zalogowaniu się do terminala na użytkownika root wydać polecenie:
 
apt-get remove php7.0*



System wyświetli listę pakietów które zostaną odinstalowane i zapyta się czy kontynuować.



Wpisujemy „T” i enter
Wszystkie pakiety PHP7.0 zostały odinstalowane.

2.
  a. instalacja PHP w wersji 7.4 (Debian 11, Debian 10)


Uaktualniamy źródła do instalacji pakietów poleceniem:
 
apt-get update



Jeśli nie uaktualnialiśmy przez dłuższy czas źródeł może pojawić się komunikat że zmienił się numer repozytorium.



Następnie instalujemy następujące pakiety PHP poleceniem:
 
apt-get install php7.4 php7.4-interbase php7.4-mbstring php7.4-xml php7.4-bcmath php7.4-soap php7.4-zip php7.4-curl php7.4-gd php7.4-imap



System wyświetli listę pakietów jakie zostaną zainstalowane i zapyta się czy kontynuować.
Wpisujemy „T” i wciskamy enter.
Po skończonej pracy instalatora mamy zainstalowane PHP 7.4.




  b. instalacja PHP w wersji 7.4 (Debian 9)

Aby na Debianie 9 zainstalować PHP 7.4 musimy go zaktualizować do wyższej wersji.
W pierwszej kolejności robimy kopię plików konfiguracyjnych z bieżącej wersji
 
tar -czvf  /home/etc_kopia.tgz /etc



Następnie aktualizujemy obecne źródła pakietów poleceniem:
 
apt-get update



Następnie aktualizujemy pakiety w ramach aktualnej gałęzi poleceniem:
 
apt-get upgrade



System wyświetli listę pakietów jakie zostaną zaktualizowane i zapyta się czy na pewno aktualizować.



Wpisujemy „T” i wciskamy enter. Aktualizacja pakietów może chwilę potrwać.

Podczas aktualizacji może zostać wyświetlone okienko z listą zmian podobne do poniższego. Zgodnie z instrukcją wciskamy „q”.



W kolejnym kroku zmieniamy wpisy w sources.list z stretch na bullseye poleceniem:





Ponownie aktualizujemy źródła pakietów poleceniem:
 
apt-get update

Następnie aktualizujemy system do nowej wersji poleceniem:
 
apt-get dist-upgrade



System wyświetli listę pakietów jakie zostaną zaktualizowane i zapyta się czy kontynuować aktualizację



Wpisujemy „T” i enter

Jeśli pojawi się okienko z listą zmian



Wpisujemy „q”
Jeśli pojawi się  zapytanie o domyślny słownik wybieramy polski.



Przy słowniku Ispell również ustawiamy na polski



Przy pytaniu o restart serwisów bez pytania zgadzamy się i wybieramy Yes



Jeżeli pojawi się okienko z informacją że jest nowa wersja pliku konfiguracyjnego ale obecna wersja była modyfikowana wybieramy zachowanie obecnej wersji.



Po skończonej pracy instalatora uruchamiamy ponownie system poleceniem:
 
reboot



Po uruchomieniu systemu i ponownym zalogowaniu się na użytkownika root, poprawiamy konfigurację Pakietu ImageMagick poleceniem:





Następne przystępujemy do instalacji php7.4 poleceniem:
 
apt-get install php7.4 php7.4-interbase php7.4-mbstring php7.4-xml php7.4-bcmath php7.4-soap php7.4-zip php7.4-curl php7.4-gd php7.4-imap



Instalator pokaże listę pakietów jakie zostaną zainstalowane, zgadzamy się wpisując „T” i wciskając enter.

3. dodanie IonCubeLoadera w odpowiedniej wersji

Kopiujemy plik ioncube_loader_lin_7.4.so do odpowiedniej lokalizacji, np. /usr/lib/php/20190902
Plik możemy ściągnąć ze strony Help Office poniższym poleceniem:
 
wget https://helpoffice.pl/download/eksiegowy/ioncube_loader_lin_7.4.so



A następnie skopiować w odpowiednie miejsce
 
cp ./ioncube_loader_lin_7.4.so /usr/lib/php/20190902




4. zmiana w pliku php.ini

Edytujemy plik php.ini w lokalizacji etc/php/7.4/apche2/php.ini i dopisujemy na początku pliku linijkę:
zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so
Aby to zrobić wpisujemy:





I wpisujemy w pierwszej linii zaraz pod napisem PHP linijkę:
 
zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so




Zapisujemy zmiany wciskając ctrl+o a następnie enter. Wychodzimy z edytora wciskając crtl+x

Następnie kopiujemy plik php.ini z apche2 do cli. Wykonujemy to poleceniem:






5. wgranie kodu aplikacji eKsięgowy w wersji na PHP 7.4

Pobieramy kod aplikacji.
 
wget https://helpoffice.pl/download/eksiegowy/eksiegowy74-update.zip



Tworzymy pomocniczy katalog w którym rozpakujemy pliki:
 
mkdir ./eksiegowy_update



rozpakowujemy:
 
unzip  ./eksiegowy74-update.zip -d ./eksiegowy_update



Na ekranie otrzymamy listę rozpakowanych plików.



W następnym kroku wchodzimy do rozpakowanego katalogu i kopiujemy pliki aplikacji.
 
cd eksiegowy_update/eksiegowy74-update-* && cp -r . /var/www/eksiegowy



Następnie restartujemy serwis apache.
 
systemctl restart apache2



Jeśli nie ma żadnych błędów, usługa uruchomiła się pomyślnie.



W kolejnym kroku ustawiamy odpowiednie prawa do plików.
 
cd /var/www/eksiegowy && php artisan change-app-owner



Jeżeli nie ma żadnych błędów to komenda wykonała się poprawnie




6. zalogowanie się do administratora eKsięgowy i wykonanie ewentualnej aktualizacji bazy danych

Teraz logujemy się do eKsięgowego i sprawdzamy czy wszystko jest ok.
Jeśli wyświetla nam się strona logowania to znaczy że php w wersji 7.4 działa poprawnie.



Logujemy się na użytkownika admin.
Jeśli aktualizowaliśmy eKsięgowego z wersji niższej niż pobrany plik z kodem na php 7.4 to system poprosi nas o aktualizację baz danych



Wykonujemy aktualizację i cieszymy się aplikacją Księgowy działającą na PHP 7.4 :)

Pobrane wcześniej pliki i tymczasowo rozpakowane archiwa można usunąć.
Możemy do tego użyć programu mc lub skorzystać z poniższego polecenia:
(poniższe polecenie zakłada że wykonywaliśmy wszystkie wcześniejsze polecenia będąc w katalogu domowym użytkownika root)
 
rm -r /root/eksiegowy_update /root/eksiegowy74-update.zip /root/ioncube_loader_lin_7.4.so



Z konsoli wychodzimy poleceniem exit.

POWODZENIA :)