Часто при использовании консоли выпадают те или иные ошибки, которых нет при работающем сайте. Возможно это из-за разных версий php. Т.е. для сайта одна версия, а для консоли другая версия.


Узнать версию php в консоли

Для этого вводим команду в самой консоли:
# php -v

У вас выйдет что-то вроде этого:
PHP 7.0.1 (cli) (built: Mar 27 2020 14:57:02) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

По первой строке мы видим, что версия у нас 7.0.1

Смена версии php с 7.0.1 на 7.4.4

Теперь будем менять саму версию.
Поищем бинарый файл php:
# which php

Получаем строку:
/usr/bin/php

Смотрим что это за файл. Не симольная ли ссылка:
# ls -l /usr/bin/php
lrwxrwxrwx 1 root root 21 Dec 22 18:53 /usr/bin/php -> /etc/alternatives/php

Так и есть это символьная ссылка.
Проверяем и этот файл тоже:
# ls -l /etc/alternatives/php
lrwxrwxrwx 1 root root 15 Dec 22 18:53 /etc/alternatives/php -> /usr/bin/php7.0

А вот и наш искомый бинарик:
/usr/bin/php7.0

Теперь нам нужно найти где у нас установлены другие версии php:
# whereis php
php: /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php /usr/share/php7.0-gd /usr/share/php7.0-mbstring /usr/share/php7.0-soap /usr/share/php7.0-common /usr/share/php7.0-imap /usr/share/php7.0-readline /usr/share/php7.0-json /usr/share/php7.0-mysql /usr/share/php7.0-curl /usr/share/php7.0-ldap /usr/share/php7.0-opcache /usr/share/php7.0-mcrypt /usr/share/php7.0-pspell /usr/share/php7.0-intl /usr/share/php /usr/share/php7.0-xml /opt/php71/bin/php /opt/php74/bin/php /usr/share/man/man1/php.1.gz

В этом списке находим нужную версию:
/opt/php74/bin/php

Эту строку и нужно прописать в в символьной ссылке.
Я просто нахожу файл в ispmanager, выделяю файл захожу в атрибуты файла и меняю ссылку на нужную версию. Файл сохраняю.

И все.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Навигация по записям