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 ファイルを1つ実行する

-g

phpinfo 一般セクション

-c

設定セクション

-m

モジュールセクション

-e

環境セクション

-v

変数セクション

-C

クレジットセクション

-l

ライセンスセクション

-a

すべての phpinfo セクション

環境の確認

php はバージョン、SAPI、OS 系統、バイナリ、Zend、読み込み設定、モジュール数を表示します。php modules json は拡張名を、php info memory -c は設定情報を絞り込みます。

実行の境界

php eval <code> が唯一のインライン形式で、php file <path> は1ファイルを実行します。実行前に構文を解析し、exit/halt を禁止し、時間は約5秒、取得出力は 1 MiB に制限します。

コード実行は sandbox ではない

コードはホスティングの PHP プロセス権限で動きます。事前に内容を確認し、ファイル・ネットワーク・DB 操作は通常のサーバースクリプトと同じ注意で扱ってください。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

PHP ファイルを1つ実行する

インストールと管理

現在の互換バージョンをインストールします。全機能は 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 ファイルを1つ実行する
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 の重複を削除しました。