PHP5 的 XAMPP 问题
Posted
技术标签:
【中文标题】PHP5 的 XAMPP 问题【英文标题】:XAMPP problems with PHP5 【发布时间】:2010-09-16 15:50:06 【问题描述】:我在我的网站上启用了 php5,我的虚拟主机需要我将以下内容添加到 .htaccess 文件中以使 PHP5 正常工作:
AddHandler 应用程序/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml AddType application/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
在本地,我正在运行 XAMPP 来开发代码,但 XAMPP 不想使用上面的 .htaccess 文件。
我认为这是 XAMPP 无法识别 php5 的问题(但如果我使用“application/x-httpd-php”而不是“application/x-httpd-php5”,它确实可以识别 php)
我该如何解决这个问题?!我需要 .htaccess 文件看起来像上面那样,以便它们与我的网络主机一起使用,但我需要 XAMPP 在本地使用相同的文件而不进行更改!
【问题讨论】:
【参考方案1】:所以,你处于一个艰难的境地;理想情况下,您的虚拟主机不应该需要您在 htaccess 文件中添加额外的垃圾。对XAMPP不太了解,无法给出具体的解决方案,但可以给你一些指点:
您的虚拟主机正在运行使用 application/x-httpd-php5 的自定义编译版本的 PHP;虽然完全可以自己构建 PHP 或找到适当配置 SAPI 层的自定义构建,但您可能不想要这样做。
根据主机给 htaccess 文件的余地多少,可以使用
我最喜欢的答案是接受它,并维护单独的 htaccess 文件。我在我的网站上这样做;我有一个 .htaccess.in 文件,其中包含“全局”声明,以及一个 htaccess.php 文件,它根据配置等生成真正的 .htaccess 文件。
希望对您有所帮助。
【讨论】:
【参考方案2】:Apache 有<IfDefine>
指令。您可以使用它从您自己的服务器中隐藏AddType
:
<IfDefine !MyServer>
AddType application/x-httpd-php5 .php5 …
…
</IfDefine>
然后用
启动 apacheapachectl -D MyServer
【讨论】:
【参考方案3】:另一个简单的解决方案:change the config file name 在家里。例如。在 httpd.conf 中:
<Directory />
#existing stuff here...
AccessFileName .htaccess.home
</Directory>
现在您的家庭服务器将忽略您的“.htaccess”文件。您将使用“.htaccess.home”文件对其进行配置。
【讨论】:
以上是关于PHP5 的 XAMPP 问题的主要内容,如果未能解决你的问题,请参考以下文章
在 XAMPP for Windows 中升级 PHP 5.4.0?
需要带有 PHP 5.4 版本的 XAMPP - windows [关闭]
XAMPP conf - 默认运行 php5_module 并根据 .htaccess 切换到其他 php cgi 版本