Magento 2.3: Установка PHP7.1 в Ubuntu
Один из проектов разработали на Magento версии 2.3.0 и для дальнейшей поддержки, которую мне предстоит делать по этому проекту потребовалось установить локально php версии 7.1, параллельно версии 7.0, которая используется для более старых Magento. Делается это не сложно..
Подключаем репозиторий ondrej
1 2 3 |
sudo add-apt-repository ppa:ondrej/php |
обновляем список пакетов
1 2 3 |
sudo apt-get -y update |
устанавливаем php, в моем случае, это nginx+php-fpm, поэтому вот так
1 2 3 4 5 6 |
sudo apt-get install -y php7.1 php7.1-fpm php7.1-common \ php7.1-gd php7.1-mysql php7.1-curl php7.1-intl php7.1-xsl \ php7.1-mbstring php7.1-zip php7.1-bcmath php7.1-iconv \ php7.1-soap |
для Apache с модулем php так
1 2 3 4 5 6 |
sudo apt-get install -y php7.1 libapache2-mod-php7.1 php7.1-common \ php7.1-gd php7.1-mysql php7.1-curl php7.1-intl php7.1-xsl \ php7.1-mbstring php7.1-zip php7.1-bcmath php7.1-iconv \ php7.1-soap |
Далее подразумевается, что nginx у вас уже установлен и настроен на 7.0 или другую версию.
Теперь, для nginx добавляем новый upstream, например в /etc/nginx/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
http { ... upstream fastcgi_backend_71 { server unix:/run/php/php7.1-fpm.sock; } ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } |
/run/php/php7.1-fpm.sock - этот путь должен совпадать с настройкой в пуле php-fpm, по-умолчанию в этом файле: /etc/php/7.1/fpm/pool.d/www.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 |
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = /run/php/php7.1-fpm.sock |
Далее указываем upstream в location-ах файла nginx.conf.sample (который находится в корне magento), примерно так
1 2 3 4 5 6 7 8 9 |
... location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check)\.php$ { try_files $uri =404; fastcgi_pass fastcgi_backend_71; # <- везде где fastcgi_backend, меняем на наш fastcgi_backend_71 ... } ... |
Так же при необходимости меняем пользователя и группу, в файле /etc/php/7.1/fpm/pool.d/www.conf , я обычно меняю на своего пользователя, так нет проблем с правами
1 2 3 4 5 6 7 |
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = vitto group = vitto |
Теперь перезапускаем php-fpm
1 2 3 |
sudo systemctl restart php7.1-fpm |
проверяем все ли ок с конфигурацией nginx
1 2 3 |
sudo nginx -t |
и перезапускаем его
1 2 3 |
sudo systemctl restart nginx |
Вот и все, все работает. Могу предположить, что у вас остались вопросы, поэтому пишите их в комментариях 🙂
Author: | Tags: /
| Rating:
Leave a Reply