php

php показывает данные активной среды PHP — версию, SAPI, расширения и фильтруемый phpinfo — а выполнение кода оставляет только за явными формами eval и file.

РазработкаВерсия 1.2.2Стабильная
lil-terminal

Обзор

Диагностика здесь является обычным режимом, выполнение — отдельным действием. Сначала посмотрите краткую сводку или нужную часть phpinfo и переходите к php eval ... или php file ... только когда запуск кода действительно нужен.

Сначала диагностика, запуск — только явно

php, php version и php modules только читают сведения о среде. php info memory -c сужает вывод до нужной конфигурации. php eval ... и php file ... уже выполняют код с правами PHP-процесса, поэтому такой код нужно проверять как обычный серверный скрипт.

Синтаксис

lil-terminal
php [info|version|modules|eval|file] ...

Справочник

php

показать краткую сводку среды PHP

php info [query] [options]

показать структурированный phpinfo и при необходимости отфильтровать строки

php version

показать версию PHP, SAPI и бинарный файл

php modules [filter]

показать загруженные расширения PHP и при необходимости отфильтровать имена

php eval <code>

выполнить PHP-код из строки

php file <path>

выполнить один PHP-файл

-g

общая секция phpinfo

-c

секция конфигурации phpinfo

-m

секция модулей phpinfo

-e

секция окружения phpinfo

-v

секция переменных phpinfo

-C

секция credits phpinfo

-l

секция лицензии phpinfo

-a

все секции phpinfo

Сначала узнать возможности хостинга

Обычный php показывает действительную версию PHP, режим запуска (SAPI), путь к бинарному файлу и число расширений. Это полезно до установки скрипта: сразу видно, в какой среде он будет работать. php version сокращает сводку, а php modules json помогает проверить конкретное расширение.

Найти нужный параметр

php info memory -c показывает связанные с памятью строки в разделе конфигурации. Поисковую фразу можно сочетать с -g, -c, -m, -e, -v, -C, -l или -a. Это разделы phpinfo, а не флаги системной оболочки. Окружение и переменные могут содержать секреты: не публикуйте полный вывод этих разделов.

Осознанный запуск кода

php eval "echo 2 + 3;" выполняет короткий фрагмент, а php file scripts/php-demo.php — существующий PHP-файл. Это не песочница: код получает права PHP-процесса и может менять реальные данные. Проверяйте исходник перед запуском. Команда блокирует конструкции exit/halt и ограничивает объём вывода.

Чему учат примеры

Ниже показаны сводка среды, поиск расширения, фильтры phpinfo и два способа запуска PHP. Результаты подготовлены для учебного sandbox, а не получены с вашего сервера.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Показать краткую сводку среды PHP

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install php
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install php -m
Точная публичная версия

Установить именно эту опубликованную версию.

install php -v 1.2.2
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade php
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install php -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Показать краткую сводку среды PHP
php
PHP      8.x
SAPI     fpm-fcgi
OS       Linux
Binary   /usr/bin/php
Zend     4.x
Config   /etc/php.ini
Modules  42
Показать версию PHP, SAPI и бинарный файл
php version
PHP     8.x
SAPI    fpm-fcgi
OS      Linux
Binary  /usr/bin/php
Zend    4.x
Показать загруженные расширения PHP и при необходимости отфильтровать имена
php modules
Core      curl      json       openssl
date      dom       mbstring   session
Показать загруженные расширения PHP и при необходимости отфильтровать имена
php modules json
json
Секция конфигурации phpinfo
php info memory -c
[Core]
memory_limit  512M
Общая секция phpinfo
php info php -g
[PHP]
PHP Version  8.x
Секция модулей phpinfo
php info json -m
[json]
JSON support  enabled
json version  1.x
Секция окружения phpinfo
php info path -e
[Environment]
PATH  /usr/local/bin:/usr/bin
Обработать отсутствующий PHP-файл
php info memory -v
No phpinfo matches
Секция credits phpinfo
php info -C
[PHP Credits]
PHP Group  The PHP Group
Секция лицензии phpinfo
php info -l
[PHP License]
PHP License  version 3.01
Все секции phpinfo
php info memory -a
[Core]
memory_limit  512M
Выполнить PHP-код из строки
php eval "echo 2 + 3;"
5
Выполнить один PHP-файл
php file \sandbox\scripts\php-demo.php
{"project":"lil-sandbox","sum":5}
Показать загруженные расширения PHP и при необходимости отфильтровать имена
php modules missing_extension
(none)
Выполнить один PHP-файл
php file \sandbox\missing.php
PHP file not found
Выполнить PHP-код из строки
php eval "exit;"
PHP exit is not allowed

Файл из примера: sandbox/src/index.php

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

<?php

declare(strict_types=1);

require_once __DIR__.'/Calculator.php';

header('Content-Type: application/json; charset=utf-8');

echo json_encode([
    'project' => 'lil-sandbox',
    'sum' => Calculator::add(2, 3),
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)."\n";

Связанная документация

Текущая публичная версия

v1.2.22026-08-08

Более чистая справка PHP

Убраны детали раскладки и повторение phpinfo в названиях разделов.