如何更改 php ini 窗口的路径

如何更改 php ini 窗口的路径

我已经下载了 php,将其添加到我的路径中,并尝试启用 openssl

php --ini 告诉我配置文件是 c:\windows,但那里什么都没有,我不想将 php 复制到 c/windows。

我如何更改它以指向我的 php 文件夹?

答案1

您不需要将任何与 PHP 相关的内容放在该c:\windows文件夹附近的任何地方。

如果你这样做,当你将 PHP 升级到新版本时,它只会给你带来麻烦。

如果您使用 CD 转到安装 PHP 的文件夹并执行操作,php --ini它将从您所在的文件夹中读取 php.ini 文件。

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

我认为将 PHP 安装文件夹放在 Windows PATH 中也是一个坏主意。

您所需要的只是一个小批处理文件,它将为您使用的命令窗口的持续时间设置您的 PATH,并将其放在 Windows PATH 中已有的文件夹之一中。

假设你安装了 PHP,C:\php这是批处理文件

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

然后,只要打开命令窗口并想要运行一些 PHP 代码,就可以运行此批处理文件,您的环境就配置好了。当您需要将其他内容(如 Composer 等)添加到您的环境中时,您还可以将其他内容添加到此批处理文件中。

答案2

根据文献:

PHP 启动时会读取配置文件 (php.ini)。对于 PHP 的服务器模块版本,此操作仅在 Web 服务器启动时发生一次。对于 CGI 和 CLI 版本,此操作在每次调用时发生。

在这些位置搜索 php.ini(按顺序):

  • SAPI 模块特定位置(Apache 2 中的 PHPIniDir 指令、CGI 和 CLI 中的 -c 命令行选项、NSAPI 中的 php_ini 参数、THTTPD 中的 PHP_INI_PATH 环境变量)
  • PHPRC 环境变量。在 PHP 5.2.0 之前,这是在下面提到的注册表项之后检查的。
  • 从 PHP 5.2.0 开始,可以为不同版本的 PHP 设置 php.ini 文件的位置。将按顺序检查以下注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xyz]、[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xy] 和 [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x],其中 x、y 和 z 表示 PHP 主版本、次版本和发行版本。如果这些键中的任何一个中有 IniFilePath 值,则将使用找到的第一个键作为 php.ini 的位置(仅限 Windows)。
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP],IniFilePath 的值(仅限 Windows)。
  • 当前工作目录(CLI 除外)。
  • Web 服务器的目录(用于 SAPI 模块)或 PHP 的目录(在 Windows 中除外)。
  • Windows 目录(C:\windows 或 C:\winnt)(对于 Windows),或者 --with-config-file-path 编译时选项。

您应该尝试PHPRC环境变量或注册表项[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]

答案3

我尝试了所有方法,但都没有成功。更改了 apache httpd.conf、php.ini 并进行了其他几次尝试,结果总是显示已加载配置文件 - (无)。最后,我将 php 目录中的所有文件复制到目录 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin,一切开始正常工作。完美。不幸的是,这不是完美的解决方案,但它确实有效。

相关内容