【问题标题】:How to force PHP to take the correct php.ini?如何强制 PHP 采用正确的 php.ini?
【发布时间】:2016-11-22 12:43:54
【问题描述】:

我在 Windows 服务器上有两个 PHP 版本——v5v7。问题是,PHP 7 尝试使用 PHP 5 的 php.ini

$ php -v
PHP 7.0.2 (cli) (built: Jan  6 2016 12:59:59) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
$ php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\path\to\php5\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

如何为 PHP 7 设置正确的php.ini

【问题讨论】:

  • echo %path% 是否显示 D:\path\to\php5
  • @AbraCadaver 它同时显示 -- PHP5 的路径和 PHP7 的路径:...D:\path\to\php7\ext\;D:\path\to\php5\ext\;D:\path\to\php7\;D:\path\to\php5\;D:\path\to\php5;...

标签: php windows-server-2008-r2 configuration-files php-7 php-ini


【解决方案1】:

以下手册页讨论了 PHP 如何在 Windows 中找到其配置文件:

http://php.net/manual/en/configuration.file.php

SAPI 模块特定位置(Apache 2 中的PHPIniDir 指令,-c CGI 和 CLI 中的命令行选项,NSAPI 中的php_ini 参数, PHP_INI_PATH THTTPD 中的环境变量)

PHPRC 环境 多变的。在 PHP 5.2.0 之前,这是在注册表项之后检查的 如以下所说的。自 PHP 5.2.0 起,php.ini 文件的位置可以 为不同版本的 PHP 设置。

按顺序检查以下注册表项: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y][HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x],其中xyz 表示 PHP 主要、次要和发布版本。如果有IniFilePath 的值 在这些键中的任何一个中,找到的第一个将用作位置 的 php.ini (仅限 Windows)。

[HKEY_LOCAL_MACHINE\SOFTWARE\PHP], IniFilePath 的值(仅限 Windows)。

当前工作目录(CLI 除外)。

Web 服务器的目录(用于 SAPI 模块),或 PHP(否则在 Windows 中)。

Windows 目录(C:\windowsC:\winnt) (对于 Windows),或 --with-config-file-path 编译时选项。

【讨论】:

  • 感谢您的提示!我检查了我的注册表,但那里没有 PHP 条目。 (只有“PHP 管理器”,但它是 IIS 的东西。)
  • 我昨天尝试了很多方法来让它工作。我想,将PHPRC 环境变量设置为D:\path\to\php7 有帮助。想知道为什么v5 仍在工作。但无论如何,现在两个版本似乎都可以。
  • 好吧,如果它“现在似乎没问题”,为什么不回答您自己的问题呢?究竟什么,最后,成功了吗?
  • 你是对的。这是 PHPRC 环境变量,这有帮助。首先我想,它“设置”了php.ini。但实际上它只是管理,默认情况下必须调用哪个 PHP 实例(调用 php 没有完整路径)。在我将它从D:\path\to\php5 更改为D:\path\to\php7 之后,php --ini 的输出发生了变化——Loaded Configuration File 现在是D:\path\to\php7\php.ini。但现在还有一个与此相关的问题:IIS 和同时处理两个 PHP 版本存在问题(s.here)。
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
  • 1970-01-01
  • 2013-01-09
相关资源
最近更新 更多