OS X Apache *.php 在域为 localhost 时执行,但在其他情况下下载文件。

发布于 2024-10-14 04:15:37 字数 715 浏览 6 评论 0原文

设置:

Mac OS X 10.5.8 上,使用原始的 Apache 2.2,唯一的更改是取消

LoadModule php5_module

_DocumentRoot_ 目录中的 注释,/Library/Webserver/Documents/,在名为info.php的文件中,写入:

<? php phpinfo(); ?>

问题:

请求http://localhost/info.php< /code> 响应是函数的输出(即 PHP 执行了文件)。

但是,来自域 127.0.0.1192.168.1.x 的请求,响应是文件的内容,带有 Content-Type application 的标头/x-httpd-php

该文件总是通过请求找到的,因此这不是主机映射问题。但是,仅当请求针对域 localhost 时,它才被视为可执行文件。 apacheconf 中没有设置虚拟主机,因此我认为无论域如何,行为都应该相同。

知道如何解决这个问题,以便我可以在 LAN 上使用该服务器吗?

谢谢。

The setup:

On a Mac OS X 10.5.8, with the original Apache 2.2, where the only change is to uncomment

LoadModule php5_module

In the _DocumentRoot_ dir, /Library/Webserver/Documents/, in a file named info.php, write:

<? php phpinfo(); ?>

The problem:

Request http://localhost/info.php and the response is the output from the function (i.e. PHP executed the file).

However, request from domain 127.0.0.1 or 192.168.1.x and the response is the content of the file, w/ a header of Content-Type application/x-httpd-php.

The file is always found via the request, so it's not a hosts mapping problem. However, it's treated as an executable only when the request is for domain localhost. There are no virtual hosts set up in the apache conf, so I figure the behaviour should be the same regardless of the domain.

Any idea how to remedy this so that I could use this server on my LAN?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

帅气称霸 2024-10-21 04:15:37

不确定这是否是问题所在,但是您的 mod_php 模块配置上的所有设置是否有允许/拒绝?我不确定它是否允许这样做。

我问这个问题的原因是因为今天我最终发现了一个预配置的 Apache 实例的问题,其中 mod_proxy 设置为仅允许来自本地主机的请求。将其切换为允许来自 10.* 的请求修复了网络上另一台计算机正确代理的问题。

Not sure if this is the problem, but do you have any allow/deny from all settings on your mod_php module's configuration? I'm not sure if it allows that or not.

The reason I ask is because today I wound up tracking down an issue with a preconfigured Apache instance where mod_proxy was set to only allow on requests from localhost. Switching it to allow requests from 10.* fixed the problem of another machine on the network correctly proxying.

狼性发作 2024-10-21 04:15:37

看看httpd.confg 的虚拟主机部分?有没有什么可以设置 PHP 文件类型的?无论哪种情况,AddHandler php5-script php 都应该位于 .conf 中的某个位置。

Look at the virtual hosts section of the httpd.confg? Is there anything there that sets the PHP filetype? In either case AddHandler php5-script php should be somewhere in the .conf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文