返回列表 发布新帖

求教:访问网址,不是打开页面,而是下载index.php,这是怎么回事? New

129 9
发表于 2024-12-3 03:55:24 | 查看全部 阅读模式
如题,浏览器中访问网址,不是打开网页,而总是下载index.php,访问一次下载一遍;

分别在AWS、Freehosting搭建,都是如此,刚搭建好的时候还能正常访问,随后就不正常了;
AWS还能通过命令行查看一下,php -t/nginx -t 都正常;
真不知道这是怎么回事.....
我知道答案 回答被采纳将会获得1 贡献 已有9人回答

评论9

成娅旃Lv.2 发表于 2024-12-3 03:55:38 | 查看全部
服务器环境问题;

安装个宝塔吧
回复

使用道具 举报

郁和静Lv.1 发表于 2024-12-3 03:56:27 | 查看全部
环境不支持php,或者一开始不支持php,用浏览器打开过缓存了下载请求
回复

使用道具 举报

郁和静Lv.1 发表于 2024-12-3 03:57:11 | 查看全部
Freehosting是已经配置好的LNMP,DirectAdmin面板;

AWS上我之前装过,感觉有些耗资源,我一会儿再试试
回复

使用道具 举报

阎清雅Lv.2 发表于 2024-12-3 03:57:23 | 查看全部
Freehosting是搭建好的LNMP环境,DirectAdmin面板,自己上传页面;在Freehosting,安装完成后,修改域名/install/index.lock为index.php后,用 域名/install 访问,还可以调出安装提示;但就是访问域名,总是下载;

在AWS,yum remove 卸载了php后,又重新安装了一遍,也还是不行;

其实,在一开始安装好了之后,是可以正常访问的,过了一阵就不行了;

我还查了/var/log/php-fpm/www-error.og,里面提示:PHP Warning:  Undefined array key "HTTP_HOST" in /usr/share/nginx/html/index.php  on line 28/29/30/31
回复

使用道具 举报

阎清雅Lv.2 发表于 2024-12-3 03:58:03 | 查看全部
### 可能原因及解决办法
1. **服务器配置错误**:
    - 检查服务器的 MIME 类型设置,确保.php 文件被正确配置为由 PHP 引擎解析而不是直接下载。在 Nginx 中,可查看相关的 server 块配置里的“types”指令,确保.php 对应的是“application/x-httpd-php”或类似正确的 PHP 处理类型;在 Apache 中检查“AddHandler”和“AddType”指令设置是否正确。
    - 若使用了类似 FastCGI 的方式运行 PHP,检查 FastCGI 的配置参数,如在 Nginx 中与 PHP-FPM 连接的配置部分,确认脚本文件名的传递及处理方式无误,防止服务器将.php 文件当作普通文件处理而直接下载。
2. **PHP 代码问题**:
    - 从日志中提示的“PHP Warning: Undefined array key "HTTP_HOST" in /usr/share/nginx/html/index.php on line 28/29/30/31”可知,代码中对 $_SERVER['HTTP_HOST'] 的使用可能存在问题。检查 index.php 文件这些行代码,确认在获取主机名相关操作时进行了正确的数组键值判断或初始化。例如,可添加条件判断 if (isset($_SERVER['HTTP_HOST'])) 后再进行相关操作,避免因该键值不存在导致错误进而影响页面正常显示而转为文件下载。
    - 若 PHP 代码中有文件下载相关功能函数(如 readfile、fpassthru 等用于输出文件内容的函数),检查其调用逻辑是否错误地应用到了 index.php 文件自身,导致浏览器接收文件流而下载。查看代码中是否在不该使用这些函数处理 index.php 的地方误调用了它们。
3. **权限与文件属性问题**:
    - 核实 index.php 文件权限设置是否正确。推荐权限设置为 644(所有者读写,组和其他用户只读),避免权限过高或过低导致服务器处理异常。例如,若权限设置为可执行权限(755 或 777 等含可执行位)可能干扰服务器对其文件类型的判断,误将其当作可下载文件。使用“chmod 644 index.php”命令修改权限并重启相关服务器进程(如 Nginx 或 Apache 及 PHP-FPM)查看是否解决。
    - 检查文件所属用户和组是否正确,确保其与服务器运行的 PHP 进程用户(如 Nginx 运行用户通常是 www-data,Apache 可能是 apache 或 www-data 等)所属组匹配或具有相应访问权限,可通过“chown”和“chgrp”命令调整,如“chown -R www-data:www-data /usr/share/nginx/html/index.php”后重启服务进程测试。
回复

使用道具 举报

搭仑扯Lv.1 发表于 2024-12-3 03:58:47 | 查看全部
变成下载说明你php运行环境有问题,没安装好哦
回复

使用道具 举报

搭仑扯Lv.1 发表于 2024-12-3 03:59:24 | 查看全部
多谢指点,我再检查看看
回复

使用道具 举报

郁和静Lv.1 发表于 2024-12-3 04:00:13 | 查看全部
安装完成时是能访问的,在恢复数据过程中,就变成下载了;后来我还卸载了php-fpm,又重新安装了一遍,还是如此
回复

使用道具 举报

黎世敏Lv.3 发表于 2024-12-3 04:01:10 | 查看全部
php解析器没执行哦,重装没装好
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

5857225@qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Powered by Discuz! X5.0 Licensed 2022-2025 吾7分享 版权所有 All Rights Reserved. |网站地图|湘公网安备43112302000109号 ICP备案:湘ICP备19002042号-3
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表