发布于2026-07-15 阅读(0)
扫一扫,手机访问
PHP脚本在Red Hat 8上不能双击运行,也不能像HTML文件那样直接在浏览器里打开。它必须由PHP解释器来执行。具体怎么玩,取决于你当下的场景:是想快速跑个脚本,还是写个定时任务,或者正经部署一个Web服务。

这是最直接、最可控的方式,特别适合调试、写数据处理脚本,或者挂到crontab里定时跑。
php 命令能用:敲 php -v,如果能输出版本号(比如 PHP 8.1.27),那就没问题。如果提示命令找不到,先装一下:dnf install php-cli -yphp script.php。如果报错 Could not open input file,说明路径不对,先 pwd 确认当前目录,或者直接用绝对路径:php /path/to/script.php#!/usr/bin/env php,然后 chmod +x script.php,之后就可以直接 ./script.php 了。不过要注意,Windows的CMD/PowerShell不认shebang,所以还是老老实实用 php script.php 最稳妥。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.phphttp://localhost:8000 就能看到效果。不过要记住,这个内置服务器不支持 .htaccess、重写规则,并发能力也弱,所以仅限开发环境使用。php.ini,而是用CLI的配置。想知道当前用了哪个配置文件,可以跑 php --ini 查看。这是生产环境的传统方案,但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(如果不存在就新建),加入以下内容,让Apache把.php文件交给PHP-FPM处理:SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
注意这里的路径必须和 /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,内容写 ,然后访问 http://服务器IP/test.php。如果看到的是源码下载而不是执行结果,说明Apache没把.php交给PHP-FPM,先检查模块是否启用:httpd -M | grep fcgi,看看有没有 proxy_fcgi_module。.php 文件变成下载:这是Web服务器没识别这个后缀,不是PHP本身的问题,检查上面的FilesMatch配置。502 Bad Gateway:PHP-FPM没启动,或者 fastcgi_pass 地址/套接字路径不匹配。503 Service Una vailable:PHP-FPM进程崩溃、内存耗尽,或者 pm.max_children 设置得太小。Call to undefined function memcached_connect():扩展没装(php-pecl-memcached)或者没启用(检查 /etc/php.d/ 下对应的ini文件)。php.ini。用 php --ini 和 phpinfo() 对比一下,就能看出哪里配置不一样。说到底,真正卡住人的地方,往往不是“PHP怎么装”,而是“哪个配置文件管哪段行为”。所以,别跳过 php --ini 和 phpinfo() 这两步,它们能帮你省下大量排错时间。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8