【问题标题】:php downloaded instead of viewingphp下载而不是查看
【发布时间】:2014-07-07 10:25:03
【问题描述】:

我是网络开发的初学者,刚开始学习一个月左右

简介:

我最近遇到了 SQL 注入并决定查找它。总结之后,由于PDO支持,我尝试将我的cpanel php版本从5.3升级到5.4。所以我在搞乱.htaccess 文件,上传新的.htaccess 文件后,我再也无法查看我的php 页面了。我不记得我输入了什么代码.....

问题:我应该怎么做才能消除我的愚蠢?

尝试过的解决方案:

  1. 我清空了我的 .htaccess 文件,结果还是一样
  2. 我在 .htaccess 文件中加载了代码

    LoadModule php5_module modules/libphp5.so

    AddHandler php5-script php

    AddType application/x-httpd-php php

    (来自Browser ask me to download php file) 结果还是一样

  3. 在某处我读过更改 php 文件名将消除损坏,它有效。但是我喜欢我原来的php文件名,所以我尝试重命名回原来的文件名,问题又出现了

对不起,我的英语练习不好

更新: 我再次浏览我的网站时,不知何故遇到了一个错误,提示
500 - Internal Server Error
,所以我决定删除 public_html 文件中的所有文件。然后,我再次重新上传了我所有的网络文件,突然一切都奏效了。没有再次下载php文件。

感谢所有花时间查看我的问题的人。我向所有贡献者道歉。

regist 和 register 上的文件名的扩展名都是 .php

【问题讨论】:

  • 您是否有权访问该服务器上的 shell?
  • I have read to change the php file name will undo the damage, It works - 什么文件名不起作用?您可能正在查看自己的浏览器缓存。
  • 我看到了 SSH/Shell 访问,但我不知道如何处理它。 “管理 SSH 密钥”是该页面中的唯一选项...
  • 原来是注册,我重命名为注册来测试该方法是否有效
  • 您的文件的完整文件名是什么。尤其是扩展很重要。应该是.php

标签: php apache .htaccess cpanel


【解决方案1】:

系统要求您下载文件,因为服务器不再将文件识别为需要处理的文件。

我不确定您为什么需要在您的.htaccess 文件(尤其是LoadModule)中的所有PHP 声明。通常这些存储在配置文件中(像/etc/httpd/conf.d/php.conf 这样的文件)。这是我盒子上的默认值(这是用于 Apache 所以 YMMV)

# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
#<IfModule prefork.c>
<IfModule !worker.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

#
# Cause the PHP interpreter to handle files with a .php extension.
#
#AddHandler php5-script .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

【讨论】:

  • .htaccess 文件是我的问题。删除它解决了问题。当我从一个服务器提供商(需要此 .htaccess 文件才能工作)转移到另一个提供商(不需要此文件才能工作)时,我遇到了这个问题
猜你喜欢
  • 1970-01-01
  • 2021-06-02
  • 2013-08-26
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 2011-04-08
  • 2021-05-03
相关资源
最近更新 更多