---
title: "Как изменить стандартный php-cli в консоли"
canonical_url: "https://www.zone.lv/help/ru/kb/kak-izmenit-standartnyj-php-cli-v-konsoli/"
post_type: "ht_kb"
published: "2024-04-04T07:43:19+00:00"
modified: "2025-06-06T12:05:28+00:00"
language: "ru"
author: "silver"
taxonomies:
  ht_kb_category:
    - name: "PHP"
      url: "https://www.zone.lv/help/ru/kb-categories/php-ru/"
    - name: "Apache"
      url: "https://www.zone.lv/help/ru/kb-categories/apache-ru/"
  ht_kb_tag:
    - name: "php"
      url: "https://www.zone.lv/help/ru/kb-tags/php-ru/"
    - name: "SSH"
      url: "https://www.zone.lv/help/ru/kb-tags/ssh-ru/"
    - name: "php cli"
      url: "https://www.zone.lv/help/ru/kb-tags/php-cli-ru/"
---

# Как изменить стандартный php-cli в консоли

Версия PHP-CLI по умолчанию для управляемых серверов Zone (виртуальные серверы, приватные серверы) имеет ту же версию PHP, что и основной хост.

Вы можете проверить текущую версию, выполнив в консоли следующую команду:

```
php -v
```

В результате получается следующий ответ:

```
virt1234:sn-69-1.tll07.zoneas.eu:~> php -v
PHP 8.3.7 (cli) (built: May 23 2024 08:53:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
with Zend OPcache v8.3.7, Copyright (c), by Zend Technologies
```

## Использование других версий.

Изменение версии PHP главного домена веб-хостинга также изменит версию консоли по умолчанию. Изменить версию PHP можно в `Мой Zone` через управление веб-хостингом [в разделе управления веб-сервером](https://my.zone.lv/hosting/webhost/server/config).

Чтобы изменить версию PHP, используемую только в консоли, необходимо создать симлинк для комманды `php` для команды php в каталоге `~/bin`, которая указывает на файл PHP CLI с нужной версией, или использовать команду PHP CLI, имя которой уже содержит соответствующую версию PHP.

 Инструкция по созданию SSH-соединения [Подключение через протокол SSH](https://www.zone.lv/help/ru/kb/podkluchenije-cherez-protokol-ssh/)

### Постоянный симлинк php

Если вы хотите использовать PHP CLI версии 8.2, вам необходимо выполнить эту команду:

```
> mkdir -p ~/bin && ln -sf /usr/bin/php82-cli ~/bin/php
```

Если вы хотите использовать PHP CLI 7.4 или любую другую версию, вы должны использовать номер версии без точки в команде для файла php-cli:

```
> mkdir -p ~/bin && ln -sf /usr/bin/php74-cli ~/bin/php
```

После добавления симлинка нужно выйти из системы и снова войти, после чего команда php `-v` покажет измененную версию.

PS! Если вы сделаете этот симлинк, версия PHP CLI больше не будет меняться автоматически.
Чтобы вернуться к версии PHP CLI по умолчанию, симлинк необходимо удалить с помощью следующей команды:

```
> rm -f ~/bin/php

```

### Команды CLI для разных версий PHP

Для каждой версии PHP CLI существуют отдельные команды, которые можно использовать в качестве альтернативы команде `php`. Например:

```
> php83-cli -v
PHP 8.3.7 (cli) (built: May 23 2024 08:53:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies with
Zend OPcache v8.3.7, Copyright (c), by Zend Technologies
```

Если вы хотите использовать PHP CLI 7.4 или другую версию, вы должны использовать номер версии без точки в команде.

Какую версию бинарных файлов PHP CLI вы используете, можно проверить с помощью команды:

```
> l /usr/bin/php*-cli
```

## Загрузка необходимого файла php.ini

Поскольку по умолчанию для PHP CLI используется та же версия, что и для главного домена PHP, конфигурационный файл php.ini для головного домена PHP также загружается для PHP CLI.

Если для PHP CLI используется другая версия PHP, будет по-прежнему использоваться конфигурационный файл php.ini с версией PHP главного домена.

Для того чтобы PHP CLI использовал файл php.ini нужной версии или любой другой файл php.ini, необходимо использовать переменную `PHPRC`, которая является путем к нужному файлу php.ini.
Это может быть php.ini PHP CLI хостингового сервера, php.ini (под)домена, глобальный php.ini или совершенно отдельный php.ini файл:

```
> PHPRC=/etc/php/cli-php8.2/php.ini
> PHPRC=/data01/virt1234/domeenid/www.example.com/phpini/https/sub.example.com/php.ini
> PHPRC=/data01/virt1234/domeenid/www.example.com/phpini/global/php.ini
> PHPRC=/data01/virt1234/domeenid/www.example.com/custom.ini
```

Или используйте переменную окружения `PHPRC` в той же команде, соединив две команды вместе:

```
> PHPRC=/etc/php/cli-php8.2/php.ini && wp cli info
```

Чтобы использовать другие версии, необходимо изменить номер версии в строке файла php.ini.

Если вам нужно добавить или перезаписать некоторые настройки или директивы PHP в дополнение к основному файлу php.ini, вы можете использовать переменную окружения `PHP_INI_SCAN_DIR` для загрузки отдельного php.ini и установить ее в путь к директории, в которой находится нужный файл php.ini:

```
> PHP_INI_SCAN_DIR=/path/to/dir
```

И наоборот, например, если есть глобальный файл php.ini, который не нужно загружать, `PHP_INI_SCAN_DIR` следует установить пустым:

```
> PHP_INI_SCAN_DIR=
```

### Постоянная настройка

При выполнении предыдущих команд, определяющих загруженные файлы php.ini, переменные окружения `PHPRC` и `PHP_INI_SCAN_DIR` остаются действительными только на время сеанса SSH.
Если необходимо, чтобы PHP CLI постоянно использовал необходимый файл php.ini, эти переменные окружения должны быть добавлены в файл `~/.bashrc`.
Файл `~/.bashrc` автоматически загружается в начале каждого сеанса SSH, и в него также загружаются содержащиеся в нем переменные окружения.

В предыдущих примерах команд добавьте `PHPRC` и `PHP_INI_SCAN_DIR` в `~/.bashrc` и перезагрузите его:

```
> echo 'PHPRC=/etc/php/cli-php8.2/php.ini' >> ~/.bashrc && source ~/.bashrc
> echo 'PHP_INI_SCAN_DIR=/path/to/dir' >> ~/.bashrc && source ~/.bashrc
```

Строки переменных окружения `PHPRC` и `PHP_INI_SCAN_DIR` могут быть удалены из файла `~/.bashrc` следующими командами:

```
> sed -i '/^PHPRC=/d' ~/.bashrc
> sed -i '/^PHP_INI_SCAN_DIR=/d' ~/.bashrc
```

## Самые распространенные ошибки

Если в консоли отображается сообщение об ошибке, связанной с PHP CLI или php.ini, необходимо проверить, не вызвана ли эта ошибка разницей между версиями PHP CLI и загруженного php.ini.
Кроме того, ошибка может быть вызвана загруженным глобальным php.ini, если он предназначен для более старой версии PHP или если настройки в нем вызывают конфликты.

Если между версиями PHP CLI и загруженного php.ini есть существенная разница, это может помешать использованию PHP CLI в консоли, поскольку в файле php.ini может быть указано на загрузку расширения, которое не существует для версии PHP CLI.
Например, распространенным сообщением об ошибке в консоли в таких случаях является:
`Warning: PHP Startup: Unable to load dynamic library 'php_xmlrpc.so'.`

Используется ли симлинк для команды `php` или нет, можно проверить с помощью следующей команды. На использование симлинка указывает тип иноде `l` (ссылка) и форма симлинка `/data01/virt1234/bin/php`.

```
> l $(whereis php)
```

Какова версия и какие файлы php.ini загружены для PHP CLI, можно проверить с помощью следующей команды:

```
> php -v | head -1 && readlink -f $(whereis php) && php --ini | grep -iE 'Configuration File|Additional'
```

Чтобы использовать файл конфигурации php.ini с нужной версией для PHP CLI в консоли, необходимо использовать переменную окружения PHPRC ([PHP Runtime Configuration](https://www.php.net/manual/en/configuration.file.php)).
