【问题标题】:htaccess AddHandler ***x-httpd-php5x*** and ***application/x-httpd-php5x***htaccess AddHandler ***x-httpd-php5x*** 和 ***application/x-httpd-php5x***
【发布时间】:2012-10-08 23:24:47
【问题描述】:

x-httpd-php5xapplication/x-httpd-php5x有什么区别

多年来,我一直在使用 application/x-httpd-php 进行网络托管 (Linux),直到他们将 PHP 升级到版本>=5.2。现在我必须在无法在 localhost (Windows) 上运行的虚拟主机上使用 x-httpd-php5x

所以每次我对 .htaccess 进行一些更改时,我都必须在上传到虚拟主机时更改 AddHandler。

有没有跨平台的AddHandler把文件解析为PHP?

编辑

.php 始终可以工作,无论是否在 .htaccess 中指定。但不是自定义扩展,例如.myphp

【问题讨论】:

  • 这是一个通常属于httpd.conf的指令。尝试将其从您的 .htaccess 中取出,看看您的脚本是否仍会被执行。当您无权访问服务器的配置时,通常会在 .htaccess 中设置该指令,这主要是一些网络托管公司的情况。
  • “有什么区别?” application/x-httpd-php 是有效的 internet media typex-httpd-php5x 不是。
  • @feeela 5x = 52 或 53。但 only x-httpd-php52x-httpd-php53 适用于我的虚拟主机。
  • 出于好奇,为什么不使用 Linux 作为开发环境,并在它和 Windows 之间进行双引导?或者,如果您使用 git 之类的东西进行版本控制,我认为 resmo 的 git-ftp 允许不同步特定文件。这样,您可以在服务器上使用x-httpd-php5x,但在本地主机上使用application/x-httpd-php5x
  • @GlaciesofPacis 啊哈...我忘记切换到 linux...等等...我安装了 Linux 吗? :) 感谢您的提示,但我对 Linux 并不熟悉,而且我相信有很多人在本地开发 Windows 时使用 Linux 主机。

标签: php .htaccess addhandler


【解决方案1】:

媒体类型 application/x-httpd-php5 是专门为 PHP 5.0 引入的,application/x-httpd-php51 是 PHP 5.1,application/x-httpd-php52 是 PHP 5.2 等...

换句话说:它们之间的区别在于它们所指的 PHP 版本。

application/x-httpd-php 有点过时了,因为它实际上并不指代任何版本。在 PHP 的早期这很好,但随着版本数量的增加,需要更具体的东西。
现在大多数网络主机都支持多个版本的 PHP,他们的网络服务器使用媒体类型将正确的文件传递给正确的 PHP 解释器。

如果您的本地开发机器安装了 PHP 5.1 或更低版本,这可能是它不支持 PHP 5.2 及更高版本的媒体类型的原因。

有点题外话:如果您安装了 PHP 5.2 或更低版本,我建议您升级到 PHP 5.3 或更高版本。在撰写本文时,所有低于 5.3 的版本均已弃用。

【讨论】:

  • PS:如果您的虚拟主机支持x-httpd-php53 但不支持application/x-httpd-php53,他们应该自己解决这个问题。
猜你喜欢
  • 2011-11-18
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
相关资源
最近更新 更多