PHP 大会日本 2024

Windows 系统上的安装

目录

建议在生产环境中使用 Windows 上 PHP 的官方版本,但 PHP 也可以从源代码构建

PHP 也可以安装在 Azure 应用服务(也称为 Microsoft Azure、Windows Azure 或 (Windows) Azure Web Apps)上。

常见问题的安装部分涵盖了可能遇到的常见安装和配置问题。

添加注释

用户贡献的注释 3 条注释

SmugWimp at smugwimp dot com
18 年前
如果您对 PHP.ini 文件进行了更改,请考虑以下事项。

(我正在 W2K 服务器上运行 IIS5。我不了解 2K3)

在 Web 服务器重新启动之前,PHP 不会“采用”这些更改,这并不意味着通过 MMC。通常人们只是重新启动。但是,您也可以使用以下命令,以获得更快的“周转时间”。在命令提示符下,键入

iisreset /stop

这将停止 Web 服务器服务。然后键入

net start w3svc

这将再次启动 Web 服务器服务。比重新启动快得多,因此您可以更快地检查更改,并使用旧的

<?php>
phpinfo();
?>

在您页面上的某个位置。

我希望我能记住我在哪里读到这条提示;这不是我想到的……
lukasz at szostak dot biz
18 年前
您可以在同一台 Apache 服务器上运行多个版本的 PHP。我见过许多指向实现此目标的不同解决方案,但大多数解决方案都需要安装额外的 Apache 实例,重定向端口/主机等,这对我来说并不令人满意。
最后,我想出了迄今为止我见过的最简单的解决方案,仅限于重新配置 Apache 的 httpd.conf。

我的目标是将 PHP5 作为我的 DocumentRoot 中 .php 文件的默认脚本语言(在我的情况下为 d:/htdocs),并将 PHP4 用于指定的 DocumentRoot 子目录。

如下所示(Apache 的 httpd.conf 内容)

---------------------------
# 替换为您的 PHP4 目录
ScriptAlias /php4/ "c:/usr/php4/"
# 替换为您的 PHP5 目录
ScriptAlias /php5/ "c:/usr/php5/"

AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php-cgi.exe"

# 为每个包含 PHP4 代码的目录填充此项
<Directory "d:/htdocs/some_subdir">
Action application/x-httpd-php "/php4/php.exe"
# PHP4 php.ini 文件所在的目录
SetEnv PHPRC "c:/usr/php4"
</Directory>

# 请记住将此部分放在上面部分下方
<Directory "d:/htdocs">
# PHP5 php.ini 文件所在的目录
SetEnv PHPRC "c:/usr/php5"
</Directory>
---------------------------

此解决方案不仅限于拥有两个并行的 PHP 版本。您可以使用 httpd.conf 内容来配置任意数量的 PHP 版本。
您还可以为同一个 PHP 版本(但针对不同的 DocumentRoot 子文件夹)使用多个 php.ini 配置文件,这在某些情况下可能很有用。

请记住将您的 php.ini 文件放在“SetEnv PHPRC...”行中指定的目录中,并确保在其他目录(例如 Windows 中的 c:\windows)中没有 php.ini 文件。

最后,如您所见,我以 CGI 模式运行 PHP。这有其优点和局限性。如果您必须将 PHP 作为 Apache 模块运行,那么……抱歉 - 您必须使用其他解决方案(一如既往,最好的建议是:谷歌搜索!)。

希望这对某些人有所帮助。
jp at iticonsulting dot nl
19 年前
如果您在 Windows/IIS5 上收到 404 页面未找到错误,请查看 C:\SYSTEM32\INETSRV\URLSCAN

那里有一个 .ini 文件,它阻止 IIS 提供某些文件,即使它们存在,IIS 也会返回 404。urlscan 日志文件(同一位置)应该可以让您了解是否有任何参数阻止页面加载。
To Top