Apache 2.2 phpinfo()配置文件(php.ini)路径没有';t匹配httpd.conf


Apache 2.2 phpinfo() Configuration File (php.ini) Path doesn't match httpd.conf

我正在尝试设置Apache以使用PHP。它似乎起作用了,因为我可以从Apache中的htdocs中的"example"目录中运行一个文件index.php。但是,当我在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没有被读取。为什么?谢谢你的帮助!

EDIT:在phpinfo()屏幕上,加载的配置文件显示为(无)。甚至不确定这是在说什么,但只是对那些这样做的人有更多的了解。

哦,PHP版本是5.4.6。

第2版:Windows版本:Windows 7 ProfessionalService Pack:Service Pack 1

更改:

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

SOLVED-不能是正斜杠,必须返回。采取

PHPIniDir "C:'srv'php5_4_8'"

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

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

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

设置环境变量

路径,例如C:''php''

PHPRC到,相同的目录

转到Web服务扩展:添加新的扩展。。。

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

将状态设置为"允许"。

右键单击网站:

在选项卡ISAPIFilters上,例如php将其命名,并将其指向php5isapi.dll

然后转到主目录选项卡:

单击配置

在映射上,单击添加:

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

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

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

并在那里添加您想要作为默认加载的内容,比如index.php

然后停止并启动IIS。

这在Windows2003Server和WinXP64上对我有效。

我希望这也适用于你。

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

症状:PDO drivers not found.

我发现:phpinfo()显示php.ini文件是"C:'Windows",尽管我希望它是apache'confhttpd.conf文件中指定的"C:'Program Files (x86)'PHP'"

httpd.conf中的PHPIniDir字符串出现问题,因此找不到我要使用的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/"

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

我也面临着同样的问题。

在我的案例中,问题是我将php.ini文件保存为文本文件。当我在记事本中将文本文件转换为"所有文件"并赋予其".ini"扩展名时,它就变成了"配置设置文件",它就工作了。

(在Windows上工作)

由于我运行的是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'

注意最后一个斜杠扰乱了一切