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, семейство ОС, бинарный файл, версию Zend, загруженный php.ini и число модулей. php version короче. php modules json фильтрует названия расширений, а php info memory -c оставляет только строки конфигурации, связанные с memory.

Граница выполнения

php eval <code> — единственная форма выполнения кода из строки; php file <path> запускает один PHP-файл. Перед запуском проверяется синтаксис, конструкции exit и halt блокируются. Время выполнения ограничено примерно пятью секундами, захваченный вывод — 1 МиБ.

Выполнение кода не является песочницей

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

Интерактивный пример из `/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-файл
cd \sandbox | php file scripts/php-demo.php | php modules json
sandbox

{"project":"lil-sandbox","sum":5}

json
Показать краткую сводку среды 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       fileinfo   json       openssl
date       dom        filter     mbstring   pcre
exif       gd         iconv      mysqli     session
Показать загруженные расширения PHP и при необходимости отфильтровать имена
php modules json
json
Показать структурированный phpinfo и при необходимости отфильтровать строки
php info memory
[PHP Core]
memory_limit       512M

[Environment]
MEMORY_PRESSURE    normal
Показать структурированный phpinfo и при необходимости отфильтровать строки
php info memory -c
[Core]
memory_limit       512M
memory_get_usage   enabled
Выполнить PHP-код из строки
php eval "echo PHP_VERSION;"
8.x
Обработать отсутствующий PHP-файл
php file \sandbox\missing.php
PHP-файл не найден

Файл из примера: 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 в названиях разделов.