Arch Linux 的 PHP CLI 需手动配置扩展、错误显示与时区,且 CLI 与 php-fpm 应分用独立配置文件;内置服务器 php -S 可快速调试,但需注意端口占用和路由文件。

直接运行 php script.php 就能执行,但前提是 PHP CLI 已安装且配置正确——Arch Linux 默认不自动启用常用扩展、不设时区、不显示错误,脚本静默失败是常态,不是你写错了。
确认 php-cli 是否已安装并可用
Arch Linux 的 php 包默认包含 CLI,但不等于“开箱即用”。运行以下命令验证基础可用性:
php -v
如果报错 command not found,说明没装:sudo pacman -S php。如果输出版本但带警告(如 “PHP Startup: Unable to load dynamic library 'mbstring'”),说明扩展缺失——这是 Arch 的典型行为,它不默认启用任何扩展。
-
php -m查看已加载模块;常见开发必需项mbstring、curl、json、xml需手动启用 - 编辑
/etc/php/php.ini,取消对应行的分号注释,例如:extension=mbstring - 改完不用重启终端,CLI 环境每次执行都重新读取
php.ini
为什么 echo "hello" 没输出?检查 error_reporting 和 display_errors
Arch 的默认 php.ini(来自 php.ini-production)把 display_errors = Off 且 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT,意味着语法错、未定义变量等全被吞掉,脚本看似“什么都没干”。
- 临时调试:加
-d display_errors=On -d error_reporting=E_ALL参数运行,例如:php -d display_errors=On -d error_reporting=E_ALL test.php - 永久修改:编辑
/etc/php/php.ini,设display_errors = On和error_reporting = E_ALL - 注意:生产环境必须关掉
display_errors,只记录到日志(log_errors = On+error_log = /var/log/php_errors.log)
CLI 和 php-fpm 用的是同一份 php.ini?不是,得分开管
Arch 下 php-fpm 和 php CLI 默认共用 /etc/php/php.ini,但实际需求常不同:CLI 要开 display_errors,fpm 必须关;fpm 需调优 pm.max_children,CLI 完全不需要。硬塞一起配,迟早出问题。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- CLI 专用配置:新建
/etc/php/php-cli.ini,内容仅保留 CLI 相关设置(如display_errors = On),它会优先于php.ini被 CLI 加载 - fpm 专用配置:修改
/usr/lib/systemd/system/php-fpm.service,在[Service]段加一行:Environment="PHP_INI_SCAN_DIR=/etc/php/fpm/conf.d",然后把 fpm 专属配置(如opcache.enable=1)放进去 - 验证:用
php --ini看 CLI 加载路径,用php-fpm -t看 fpm 实际生效的 ini 文件
想快速跑个 Web 服务测试?别装 Apache/Nginx,用内置服务器
Arch 用户常卡在“配 Apache 失败”,其实 PHP 8.0+ 自带 php -S,足够日常调试:
php -S 127.0.0.1:8000 -t ./public
这会起一个单线程 HTTP 服务,根目录为 ./public,支持路由文件(router.php)。注意:
- 它不解析
.htaccess,也不支持并发,纯开发用 - 如果遇到
Failed to listen on 127.0.0.1:8000,先lsof -i :8000查端口占用 - 要支持
index.php自动 fallback,需提供 router 文件,内容最少写:
真正容易被忽略的点是:Arch 的 PHP 默认不加载 opcache,CLI 下无所谓,但一旦用 php-fpm 或内置服务器跑多请求,没 opcache 就是慢一倍起步——记得在 fpm 的 conf.d 里明确启用。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










