PHP文件在Linux终端可通过cat/less查看源码、php -l检查语法、php命令执行脚本,但CLI与Web环境配置、变量、扩展均不同,需区分使用。

PHP 文件本身是纯文本,Linux 终端当然能“打开”——但关键在于:你想看内容、执行代码,还是调试逻辑?不同目标对应完全不同的命令和陷阱。
用 cat / less 查看 PHP 源码内容
这是最基础也最安全的操作,适合读代码、查配置、确认文件是否存在或是否被篡改。
-
cat index.php:快速打印全部内容,适合小文件;大文件会刷屏,不推荐 -
less index.php:支持翻页、搜索(按/输入关键词)、退出(按q),日常首选 - 别用
vim或nano直接编辑线上 PHP 文件,尤其没备份时——一个错位的;可能让整个网站报Parse error: syntax error
用 php -l 检查语法错误(不执行)
开发中改完 PHP 文件,别急着刷新网页——先用 PHP 自带的语法检查器扫一遍。它不运行代码,只解析结构,快且安全。
-
php -l config.php:输出No syntax errors detected in config.php表示过关;否则会明确指出第几行哪个字符出错 - 注意:
-l不检查函数是否存在、变量是否定义、扩展是否启用——它只管括号配对、分号结尾、关键字拼写这类基础语法 - 如果提示
Command 'php' not found,说明 PHP CLI 未安装,需运行sudo apt install php-cli(Debian/Ubuntu)或sudo yum install php-cli(CentOS/RHEL)
用 php script.php 执行脚本(注意环境差异)
终端执行 PHP 文件,走的是 CLI SAPI,和 Web 服务器(如 Apache/FPM)用的不是同一套配置——这意味着 $_GET、$_POST、$_SERVER['DOCUMENT_ROOT'] 全都为空或不同。
立即学习“PHP免费学习笔记(深入)”;
-
php test.php:直接运行,输出到终端;适合命令行工具、定时任务脚本 - 常见坑:
include 'db.php'在 Web 下能加载,在 CLI 下可能因工作目录不同而失败——建议用__DIR__ . '/db.php'写死路径 - CLI 默认关闭
display_errors,出错可能静默失败;加-d display_errors=1强制显示:php -d display_errors=1 script.php
Web 服务下访问 PHP 文件,终端只是辅助手段
终端不能“打开” http://localhost/index.php 这种地址——那是浏览器或 curl 的事。但你可以用终端快速验证服务是否就绪:
-
curl -I http://localhost/info.php:看 HTTP 状态码和Content-Type,确认 Web 服务在响应 -
php -m | grep mysqli:检查 CLI 模式下是否启用了某个扩展(注意:Web 模式可能单独配置了不同扩展) - 别混淆
php.ini路径:CLI 用的是php --ini显示的配置文件,和 Apache 的php.ini常常不是同一个
真正容易被忽略的点是:同一份 PHP 文件,在终端执行和在浏览器访问,__FILE__、getcwd()、extension_loaded() 的结果可能完全不同——不验证就假设行为一致,十有八九会卡在路径或扩展问题上。











