我正在尝试设置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
答案 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'
注意最后一个斜线扰乱了一切!