Apache 2.2 phpinfo()配置文件(php.ini)路径与httpd.conf不匹配

时间:2012-08-20 23:16:40

标签: apache php httpd.conf

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

所以我认为它不是我的php.ini。在phpinfo()屏幕上,它表示Path是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 Professional Service Pack:Service Pack 1

6 个答案:

答案 0 :(得分:6)

变化:

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”。

答案 1 :(得分:3)

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

PHPIniDir "C:\srv\php5_4_8\"

答案 2 :(得分:0)

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

如果您使用64位

,则将IIS设置为允许32位

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

设置环境变量

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

PHPRC,同样的目录

转到网络服务扩展程序:添加新扩展程序...

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

将状态设置为“允许”。

右键单击网站:

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

然后转到主目录选项卡:

单击配置

在“映射”上,单击“添加:

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

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

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

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

然后停止,然后启动IIS。

这适用于Windows 2003 Server和WinXP 64。

我希望这也适合你。

答案 3 :(得分: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 <{1}}

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

FAILED:

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

保护正常工作:

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

注意:额外的&#34; \&#34;在FAILED案件中。删除它,保存conf文件,然后重新启动apache。现在phpinfo应该显示php.ini文件来自&#34; C:\ Program Files(x86)\ PHP&#34; PDO驱动程序已加载。

答案 4 :(得分:0)

我面临着同样的问题。

就我而言,问题是我将php.ini文件保存为文本文件。一旦我将文本文件转换为记事本中的“所有文件”并为其提供了“.ini”扩展名,它就变成了“配置设置文件”并且它有效。

(在Windows上工作)

答案 5 :(得分:-1)

由于我运行的是Windows 7(Apache 2.2&amp; 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'

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