@NewSantaClaus

Как изменить версию php, которую использует веб-сервер?

Сервер ubuntu 18.04 nginx

Установил все зависимости через composer
Но приложение ругается что нужна версия php >= 7.3

Команда php -v показывает php 7.4.22
phpinfo() показывает 7.2.24

Подскажите пожалуйста, как мне изменить версию php?

Пробовал:
sudo a2dismod php7.2 ; sudo a2enmod php7.4 ; sudo service apache2 restart


Ответ:
Module php7.2 already disabled
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Module php7.4 already enabled
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.


Как видим отключение старой и включение новой версии происходит. Но апаче не перезапускается. Возможно что работаю через nginx
Команда journalctl -xe выводит
Aug 16 08:44:53 my.site sudo[23332]: pam_unix(sudo:session): session closed for user root
Aug 16 08:45:01 my.site CRON[23344]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 16 08:45:01 my.site CRON[23345]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 16 08:45:01 my.site CRON[23344]: pam_unix(cron:session): session closed for user root
Aug 16 08:45:11 my.site sshd[23347]: Invalid user ubuntu from 111.111.11.111 port 60734
Aug 16 08:45:11 my.site sshd[23347]: pam_unix(sshd:auth): check pass; user unknown
Aug 16 08:45:11 my.sitesshd[23347]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser=
Aug 16 08:45:13 my.site sshd[23347]: Failed password for invalid user ubuntu from 111.111.11.111 port 60734 ssh2
Aug 16 08:45:13 my.site sshd[23347]: Received disconnect from 111.111.11.111 port 60734:11: Bye Bye [preauth]
Aug 16 08:45:13 my.site sshd[23347]: Disconnected from invalid user ubuntu 111.111.11.111 port 60734 [preauth]
Aug 16 08:45:22 my.site sshd[23349]: Invalid user musikbot from 222.22.22.222 port 58808
Aug 16 08:45:22 my.site sshd[23349]: pam_unix(sshd:auth): check pass; user unknown
Aug 16 08:45:22 my.site sshd[23349]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser=
Aug 16 08:45:24 my.site sshd[23349]: Failed password for invalid user musikbot from 101.32.14.126 port 58808 ssh2
Aug 16 08:45:24 my.site sshd[23349]: Received disconnect from 222.22.22.222 port 58808:11: Bye Bye [preauth]
Aug 16 08:45:24 my.site sshd[23349]: Disconnected from invalid user musikbot 222.22.22.222 port 58808 [preauth]
  • Вопрос задан
  • 3845 просмотров
Решения вопроса 1
@sand3001
Всего по немногу
Nginx не умеет самостоятельно обрабатывать php, поэтому использует "посредника" (например fastcgi php-fpm). Посмотреть текущего "посредника" можно через вывод phpinfo (поле Server API). Настроить версию можно, указав в директиве fastcgi_pass путь к нужному сокету.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Очевидно, у вас несколько версий php установленно одновременно, и сервер использует версию отличную от той, что у вас в консоли.
Команда php -i выдаст вам консольный аналог phpinfo, где можно посмотреть путь к php.ini
также могут помочь команды типа whereis php или which php, или константа PHP_BINARY (в консоли php -r "echo PHP_BINARY;") .
Скорее всего они выдадут /usr/bin/php

Затем в конфиге nginx укажите тот-же бинарник, который используется в cli.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы