php脚本在red hat 8上不能双击或浏览器直接打开,必须由php解释器执行:cli模式适合运维脚本(php script.php),内置服务器(php -s)用于开发测试,apache+php-fpm为生产部署标准方案。

php 脚本在 Red Hat 8 上不能双击运行,也不能直接用浏览器打开 .php 文件 —— 它必须由 PHP 解释器执行,方式取决于你当前的使用场景:是本地快速测试、写运维脚本,还是部署成 Web API。
用命令行直接执行(CLI 模式)
这是最简单、最可控的方式,适合调试、定时任务、数据处理脚本。确保
php命令可用:php -v能输出版本(如PHP 8.1.27),否则需先安装:dnf install php-cli -y进入脚本所在目录,运行:
php script.php
如果报错Could not open input file,说明路径不对,建议先pwd确认当前路径,或用绝对路径:php /path/to/script.php想加执行权限并像 shell 脚本一样运行?可以:
在文件第一行加 shebang:#!/usr/bin/env php
然后chmod +x script.php,再./script.php
⚠️ 注意:Windows 的 CMD/PowerShell 不识别 shebang,老实用php script.phpCLI 默认不显示错误(
display_errors = Off),调试时可临时加参数:php -d display_errors=1 script.php
用内置服务器快速测试(php -S)
不用装 Apache/Nginx,适合开发阶段验证路由逻辑或 API 行为。
执行:
php -S localhost:8000
默认会找当前目录下的index.php;如果想自定义路由,加一个router.php:php -S localhost:8000 router.php浏览器访问:
@#@#@#@#@#@#@#@#@#@0
⚠️ 注意:这个服务器不支持 .htaccess、重写规则、并发高负载,仅限开发内置服务器只解析当前目录及子目录,不会读取系统级
php.ini,而是用 CLI 配置(查路径:php --ini)
通过 Apache 运行 PHP(mod_php 或 php-fpm)
这是传统部署方式,但 Red Hat 8 默认不再启用mod_php,推荐用 php-fpm + httpd(即 FastCGI 模式)。
确保已安装:
dnf install httpd php-fpm php-common -y
启动服务:systemctl enable --now httpd php-fpm-
修改
/etc/httpd/conf.d/php.conf(若不存在则新建),加入:<filesmatch> SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost" </filesmatch>
⚠️ 注意:路径要和/etc/php-fpm.d/www.conf中的listen =一致(默认是/run/php-fpm/www.sock) 放行防火墙:
firewall-cmd --permanent --add-service=http && firewall-cmd --reload把脚本放
/var/www/html/test.php,内容为<?php phpinfo(); ?>,访问@#@#@#@#@#@#@#@#@#@1
若下载源码而非执行,说明 Apache 没把.php交给 PHP-FPM 处理 —— 检查proxy_fcgi模块是否启用:httpd -M | grep fcgi
常见失败现象与定位点
- 浏览器打开.php 文件变成下载:Web 服务器没接管后缀,不是 PHP 本身问题
- 502 Bad Gateway:PHP-FPM 没启动,或 fastcgi_pass 地址/套接字路径不匹配
- 503 Service Unavailable:PHP-FPM 进程崩溃、内存耗尽,或 pm.max_children 设太小
- Call to undefined function memcached_connect():扩展没装(php-pecl-memcached)或没启用(检查 /etc/php.d/ 下对应 ini 文件)
- CLI 和网页输出结果不一致:CLI 和 FPM 加载的是不同 php.ini,查路径用 php --ini 和 phpinfo() 对比
真正卡住的地方,往往不是“PHP 怎么装”,而是“哪个配置文件管哪段行为”——别跳过 php --ini 和 phpinfo() 这两步。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











