5

我正在尝试设置 Apache 以使用 PHP。它似乎正在工作,因为我可以从我的“示例”目录中运行文件 index.php,该目录位于 Apache 的 htdocs 中。但是,当我查看 phpinfo() 屏幕上的配置文件 (php.ini) 路径时,它与我在 httpd.conf 中的路径不匹配。此外,在我的 php.ini 文件中打开的模块未设置为启用。

所以我认为它没有得到我的 php.ini。在 phpinfo() 屏幕上,它显示路径是 C:\Windows。

在 Apache 的 conf 目录中的 httpd 文件中,我有这个:

.
.
.
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule php5_module C:/php/php5apache2_2.dll
PHPIniDir "C:/php/"

所有这些文件都存在。然而,这甚至不是 C:\Windows 中的 php.ini。

你可能会说我的 httpd.conf 文件可能没有被读取。但是,如果我将 php5_module 行更改为类似

LoadModule php5_module C:/php/incorect.dll

Apache 无法启动。所以这是正在阅读。只是我的 php.ini 没有被读取。为什么?谢谢您的帮助!

编辑:还想提一下,在 phpinfo() 屏幕上,加载的配置文件显示为(无)。不知道这甚至在说什么,但对你们这些人来说只是一些更深入的了解。

哦,PHP 版本是 5.4.6。

编辑 2: Windows 版本:Windows 7 专业服务包:服务包 1

4

6 回答 6

7

改变:

PHPIniDir "C:/php/"

到:

PHPIniDir "C:/php"

加载模块:

LoadModule php5_module "c:/php/php5apache2_2.dll"

添加 PHP 处理程序:

AddHandler application/x-httpd-php .php

更新目录索引(可选):

DirectoryIndex index.php index.html

Path在变量末尾包含“c:\php” 。

于 2012-08-21T00:01:05.127 回答
3

已解决 - 不能是正斜杠,必须返回。拿

PHPIniDir "C:\srv\php5_4_8\"
于 2012-11-02T07:45:35.757 回答
0

我找到了一种在 IIS 7 上正确安装它的方法:

如果您使用 64 位,请将 IIS 设置为允许 32 位

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

设置环境变量

路径,比如说,C:\php\

PHPRC 到,相同的目录

转到 Web 服务扩展:添加新扩展...

将其命名为 php,并将其指向 php5isapi.dll。

将状态设置为允许。

右键单击网站:

在选项卡上,ISAPI 过滤器,将其命名为例如 php,并将其指向 php5isapi.dll

然后转到主目录选项卡:

单击配置

在映射上,单击添加:

可执行文件是:php5isapi.dll 扩展名:.php

单击确定,然后单击确定。

然后在“文档”选项卡上单击“添加”:

并在那里添加你想要加载的默认值,比如 index.php

然后停止,然后启动 IIS。

这在 Windows 2003 Server 和 WinXP 64 上对我有用。

我希望这也适用于你。

于 2012-08-21T01:24:48.333 回答
0

我的系统:Windows with apache 2.2, php 5.3

症状: PDO drivers not found.

我发现了什么: phpinfo() 表明 php.ini 文件是"C:\Windows"即使我希望它与"C:\Program Files (x86)\PHP\"我的httpd.conf文件中指定的一样apache\conf

问题出在PHPIniDir字符串中,httpd.conf因此php.ini找不到我打算使用的文件。

失败的:

PHPIniDir "C:\Program Files (x86)\PHP\"

工作:

PHPIniDir "C:\Program Files (x86)\PHP"
PHPIniDir "C:/Program Files (x86)/PHP"
PHPIniDir "C:/Program Files (x86)/PHP/"

注意: FAILED 情况下的额外“\”。删除它,保存 conf 文件,然后重新启动 apache。现在 phpinfo 应该显示 php.ini 文件来自“C:\Program Files (x86)\PHP”,并且 PDO 驱动程序已加载。

于 2013-07-22T21:34:16.583 回答
0

我面临着完全相同的问题。

就我而言,问题在于我已将 php.ini 文件保存为文本文件。一旦我在记事本中将文本文件转换为“所有文件”并赋予它“.ini”扩展名,它就变成了“配置设置文件”并且它起作用了。

(在 Windows 上工作)

于 2018-04-15T10:09:55.703 回答
-1

由于我运行的是 Windows 7(Apache 2.2 & PHP 5.2.17 & MySQL 5.0.51a),文件“httpd.conf”中的语法(C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf \httpd.conf) 对斜线非常敏感。我需要改变

PHPIniDir 'c:\PHP'

PHPIniDir 'c:\PHP'

注意最后一个斜线扰乱了一切!

于 2013-09-18T11:16:03.367 回答