可以找到php.ini文件

4

我已经将PHP 5.2.17安装到了Windows Vista的Apache 2上,安装目录是c:\Web\Webserver\PHP5\。

然而,phpinfo显示配置文件路径为c:\Windows,已加载的配置文件为空。

httpd.conf文件中有如下行:

LoadModule php5_module "c:/Web/WebServer/PHP5/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
PHPIniDir 'c:\Web\Webserver\PHP5\'

Windows 控制面板显示路径环境变量包括我的安装目录(位于路径前面),PHPRC 变量也指向我的安装目录。

那么为什么它会在 c:\Windows 中查找 php.ini?

如果我将 php.ini 的副本放在 c:\Windows 中,它仍然会说找不到。发生了什么事情?


1
尝试在LoadModule指令中使用反斜杠而不是正斜杠。 - Mike Purcell
现代版本的Windows(至少从7开始)可以处理正斜杠;此外,我认为Apache想要正斜杠……这可能是关于PHPIniDir行的线索。 - PTBNL
@PTBNL:然后,phpinidir也应该使用正斜杠。 - Mike Purcell
LoadModule显然使用正斜杠,因为PHP模块已被加载。否则,我将无法从phpinfo()函数中获得任何内容。将PHPIniDir更改为正斜杠会导致Apache在重新启动时抛出错误(然后无法启动)。 - Steve Wright
3个回答

1

尝试在Windows搜索中查找php.ini文件


在 c:\Windows 或其子目录中未找到任何内容。 - Steve Wright

0

你确定 PHPRC 是一个 系统 变量,而不是一个 用户 变量吗?

你重启过了吗?

你安装了 Sysinternals Process Explorer 并右键单击 Apache 进程以验证 PHPRC 参数是否在环境变量中(通过属性选项卡)吗?

你考虑过使用 Linux 吗? :)


PHPRC被定义为系统变量。我已经重新启动了。我使用了Sysinternals Process Explorer,但环境中没有任何变量的条目。Linux不是一个选择(没有多余的机器,而且我的Linux SysAdmin技能比我的Windows SysAdmin技能还要差)。 - Steve Wright

-1

以上的回答都很好,但并没有解决我们遇到的问题。

正如其他人所提到的(非常准确),我创建了一个文件:

<?php
phpinfo(); 
?>

这样做很好。但是,它显示了“(none)”

那么你在哪里找到(none)呢?

当然,你找不到不存在的东西。

实际上,答案是,你没有php.ini文件;你需要创建它。

在我的情况下,在Windows上,你只需进入php安装的位置;我已经将其安装在c:\php中,我相信在其他平台上也是同样的步骤。

然后,从命令行,例如powershell,键入:notepad c:\php\php.ini

告诉它是的,你确实想要创建它,然后添加你需要的任何更改。例如,对于我来说:

extension_dir = "c:\php\ext"
extension=mysqli
upload_max_filesize = 25M
post_max_size = 13M
max_execution_time = 300

然后保存。搞定了!

顺便说一下 - 如果你做了“新建文件”然后“另存为”,记事本会(不是很)贴心地将你的文件重命名为php.ini.txt。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接