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

执行内联 PHP 代码

php file <path>

执行一个 PHP 文件

-g

phpinfo 常规部分

-c

配置部分

-m

模块部分

-e

环境部分

-v

变量部分

-C

credits 部分

-l

许可证部分

-a

全部 phpinfo 部分

先检查服务器的 PHP 环境

php 显示服务器实际使用的 PHP 版本、SAPI、可执行文件及扩展。php version 更简短;php modules json 可检查指定扩展。

定位配置项

php info memory -c 筛选与内存有关的配置。-g、-m、-e、-v、-C、-l 和 -a 选择 phpinfo 的不同部分。环境变量可能包含秘密,不要公开完整输出。

明确地执行 PHP

php eval "echo 2 + 3;" 运行短代码,php file scripts/php-demo.php 运行已有文件。这不是沙箱:代码拥有 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 modules
Core      curl      json       openssl
date      dom       mbstring   session
显示已加载扩展并可筛选名称
php modules json
json
配置部分
php info memory -c
[Core]
memory_limit  512M
Phpinfo 常规部分
php info php -g
[PHP]
PHP Version  8.x
模块部分
php info json -m
[json]
JSON support  enabled
json version  1.x
环境部分
php info path -e
[Environment]
PATH  /usr/local/bin:/usr/bin
处理缺失的 PHP 文件
php info memory -v
No phpinfo matches
Credits 部分
php info -C
[PHP Credits]
PHP Group  The PHP Group
许可证部分
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 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 字样。