我已经下载了 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,一切开始正常工作。完美。不幸的是,这不是完美的解决方案,但它确实有效。