Magento 1 PHP5.6 és Magento 2 PHP7.1 egy Apache

A fejlesztéseim korlátjába ütköztem amikor is a Magento 1-es porjektekhez még PHP5.6 kell de a Magento 2 fejlesztésekhez már PHP 7.1 kellene. Ubuntu 16 alatt viszonylag könnyű megoldani a problémát. Használhatnék Docker-t is, de másnál nem kell felhúzni a fejlesztői környzetet. Apache webszerverrel dolgozom, mert Magento fejlesztéseken kívül mással is dolgozom. A cél az, hogy egyszerű konfigurációval lehessen egymás mellett PHP5.6-os és PHP7.1-es projekteket futtatni.

Azt, hogy melyik oldal melyik PHP-t használja Vhostban fogjuk beállítani. A megoldához pedig PHP5.6 és PHP7.1-et telepítünk FPM módban:
sudo su
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install libapache2-mod-fastcgi php5.6-fpm php5.6 php5.6-dev php5.6-mcrypt php5.6-mbstring php5.6-mysql php5.6-zip php5.6-gd php5.6-xml php7.1-fpm libapache2-mod-fastcgi php7.1-fpm php7.1 php7.1-dev php7.1-mbstring php7.1-mysql php7.1-zip php7.1-gd php7.1-xml php7.1-curl php7.1-intl php7.1-json php7.1-mcrypt

Engedélyeznünk kel pár hasznos Apache modult:
a2enmod actions
a2enmod fastcgi

Majd az Apache default konfig fájlban állítsuk be a különböző módokat (/etc/apache2/sites-available/000-default.conf):

<IfModule mod_fastcgi.c>
AddHandler php56-fcgi-www .php
Action php56-fcgi-www /php56-fcgi-www
Alias /php56-fcgi-www /usr/lib/cgi-bin/php56-fcgi-www
FastCgiExternalServer /usr/lib/cgi-bin/php56-fcgi-www -socket /run/php/php5.6-fpm.sock -pass-header Authorization
<Directory "/usr/lib/cgi-bin">
Require all granted
</Directory>
</IfModule>
<IfModule mod_fastcgi.c>
AddHandler php71-fcgi-www .php
Action php71-fcgi-www /php71-fcgi-www
Alias /php71-fcgi-www /usr/lib/cgi-bin/php71-fcgi-www
FastCgiExternalServer /usr/lib/cgi-bin/php71-fcgi-www -socket /run/php/php7.1-fpm.sock -pass-header Authorization
<Directory "/usr/lib/cgi-bin">
Require all granted
</Directory>
</IfModule>
<IfModule mod_fastcgi.c>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler php71-fcgi-www
</FilesMatch>
</IfModule>

A beállítások elvégzése után indítsuk újra az Apache2 szerverünket:
sudo service apache2 restart

A cikk erdeti forrása megtekinthető az x-debug telepítéssel kiegészítve.

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s