这个工具是什么
PHP 在线运行工具把 PHP 解释器编译成 WebAssembly,直接在你的浏览器里执行代码。写一段 PHP、点运行,结果立刻显示在下方——不需要本地环境,不需要服务器,代码也不会离开这台机器。
适合验证语法和一个函数的具体行为:字符串怎么截、数组函数返回什么、日期加减算得对不对。
什么时候用它
- 确认内置函数的返回值与边界行为,比如
array_filter不传回调时怎么处理空值。 - 验证正则:
preg_match的分组、贪婪与懒惰匹配分别匹配到什么。 - 试算日期时间:
DateTime的加减、时区转换、strtotime对某种写法的解析结果。 - 区分数组函数:
array_map、array_walk、array_reduce的返回值与副作用差别。 - 快速试一段字符串处理逻辑,确认无误再搬进项目。
有什么限制
- 没有网络扩展:
curl、fsockopen、file_get_contents取远程地址都不可用,运行环境连不上外网。 - 没有数据库扩展:
PDO、mysqli不存在,不能连接 MySQL。 - 没有进程相关函数:
exec、shell_exec、proc_open都被禁用,也不能访问宿主机的文件系统。 - 没有
mb_*系列与intl扩展,涉及多字节编码处理与本地化格式化的代码会提示函数不存在。 - 不能加载 Composer 依赖,
require vendor/autoload.php会失败,只能用标准库。 - 首次运行需要下载约 18 MB 的运行时(压缩后约 7 MB),网络慢时等待比较明显。
常见问题
Q:代码会发送到服务器吗? A:不会。PHP 解释器是下载到你浏览器里执行的 WebAssembly 模块,代码与数据都不离开本机。
Q:为什么 curl_init() 提示未定义函数?
A:这个构建不含网络扩展,也不允许访问外网。需要调接口的话,可以先用本站的「cURL 转代码」生成对应写法,再到本地项目里跑。
Q:能连数据库吗? A:不能,没有 PDO 与 mysqli。想验证 SQL 逻辑可以用「SQL 在线运行工具」,那是跑在浏览器里的 SQLite。
Q:为什么第一次运行特别慢,后面就快了? A:第一次要下载约 18 MB 的解释器,下载完成后浏览器会缓存,之后单次运行通常在几百毫秒内。
Q:用的是哪个 PHP 版本? A:PHP 8.3。语法与标准库行为以 8.3 为准,和你本机的 8.1 或 8.4 在细节上可能有差异。