完全可行:只需正确安装php-cli及必需扩展(如mbstring、curl)、确认cli专用php.ini路径并配置时区/错误日志、最后用真实脚本验证扩展与函数可用性,即可纯命令行运行php脚本和定时任务。

纯命令行部署PHP到VPS,不装Apache/Nginx、不配Web服务,只跑CLI脚本或定时任务——这是完全可行的,而且更轻量、更可控。关键不是“能不能”,而是php-cli是否装对、php.ini是否生效、扩展是否按需加载。
确认系统发行版和包管理器再动手
盲目执行apt install php在CentOS上会报错,yum install php在Ubuntu上根本不存在。必须先看清底子:
- Ubuntu/Debian:
cat /etc/os-release | grep PRETTY_NAME→ 看到Ubuntu 22.04就用apt - Rocky/AlmaLinux/CentOS 8+:
rpm -q centos-release 2>/dev/null || echo "Rocky"→ 优先用dnf - Alibaba Cloud Linux 3:
cat /etc/os-release | grep ID_LIKE→ 行为接近RHEL,用dnf
别跳过这步。曾有用户在Alibaba Cloud Linux 3上硬套Ubuntu教程,apt命令不存在还反复重试,卡住两小时。
安装php-cli及必需扩展,避开默认“阉割版”
很多发行版(尤其是Ubuntu)默认只装php元包,它可能不含mbstring或xml,导致Composer报错或框架启动失败。必须显式指定:
- Ubuntu 22.04+:
sudo apt install php-cli php-mbstring php-xml php-zip php-curl php-json - Rocky 9:
sudo dnf install php-cli php-mbstring php-xml php-zip php-curl php-json php-opcache - Arch/Manjaro:
sudo pacman -S php php-mbstring php-xml php-zip php-curl(注意:Arch的php包已含CLI,无需额外加php-cli)
php-opcache建议加上,CLI脚本重复执行时能明显提速;php-json看似基础,但某些老镜像里它被拆成独立包,漏掉会导致json_encode()函数未定义。
验证php.ini路径和关键配置是否生效
CLI和Web服务器用的php.ini通常是两个文件。运行php --ini看到的Loaded Configuration File路径,才是你该改的那个。常见坑:
- Ubuntu下CLI配置在
/etc/php/*/cli/php.ini,FPM在/etc/php/*/fpm/php.ini,改错位置等于白改 - 时区没设会导致
date()返回UTC,日志时间全乱;加date.timezone = Asia/Shanghai后必须重启相关服务(CLI本身不用重启,但systemd托管的守护进程如php-fpm要) -
display_errors = On对CLI无效,CLI错误默认就输出;真正影响CLI的是error_reporting = E_ALL和log_errors = On(日志写入/var/log/php_errors.log需手动创建并赋权)
改完立刻验证:php -r "echo date('Y-m-d H:i:s');"看时区,php -r "print_r(get_loaded_extensions());"确认mbstring等在列表里。
部署后第一件事:跑个真实脚本,别只信php -v
php -v只说明二进制存在,不代表环境可用。真正要测的是你的业务逻辑依赖链:
- 建一个
test.php:<?php if (!extension_loaded('mbstring')) die("mbstring missing\n"); if (!function_exists('curl_init')) die("curl missing\n"); echo "OK: CLI PHP ready for real work.\n"; - 执行
php test.php,输出OK才算过关 - 如果项目用Composer,立即跑
curl -sS https://getcomposer.org/installer | php,再php composer.phar install,这才是最终检验
很多VPS镜像预装了PHP但禁用了部分扩展,或者disable_functions里塞了exec,shell_exec——这些只有真跑脚本才会暴露。别省这30秒。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











