php

php 用于检查当前 PHP 环境——版本、SAPI、扩展以及可筛选的 phpinfo——代码执行只通过显式的 evalfile 形式进行。

开发版本 1.2.2稳定
lil-terminal

概览

默认是诊断,不是执行。先查看简短摘要或筛选后的 phpinfo;只有确实需要运行代码时,才使用 php eval ...php file ...

先检查环境,再明确执行

phpphp versionphp 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 eval <code>

执行内联 PHP 代码

php file <path>

执行一个 PHP 文件

-g

phpinfo 常规部分

-c

配置部分

-m

模块部分

-e

环境部分

-v

变量部分

-C

credits 部分

-l

许可证部分

-a

全部 phpinfo 部分

检查环境

php 显示版本、SAPI、操作系统系列、二进制、Zend、已加载配置和模块数量。php modules json 筛选扩展名,php info memory -c 缩小配置结果。

执行边界

php eval <code> 是唯一内联形式;php file <path> 执行一个文件。运行前会解析语法并阻止 exit/halt,执行时间约限制为五秒,捕获输出限制为 1 MiB。

执行代码不是沙箱

代码以主机 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 modules
Core       curl       fileinfo   json       openssl
date       dom        filter     mbstring   pcre
exif       gd         iconv      mysqli     session
显示已加载扩展并可筛选名称
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 字样。