当安装程序在我的php.ini文件上出问题时,我该如何安装Composer依赖管理工具?
我正在尝试安装Composer依赖管理工具,希望用它来安装phpdotenv,最终的目的是将一个.env文件链接到我为大学项目编写的PHP应用程序(应用的数据库设置将保存在.env文件中,这样就不会在应用的GitHub仓库中暴露)。
当我运行Composer安装程序时,它标出了我php.ini文件的问题。
我识别并修复了一些问题,例如:
-
我没有php.ini文件,但找到了一个 "php.ini-development" 文件,我复制了一份,然后把副本重命名为php.ini
-
之后,php.ini文件又出现了3 个问题,我把错误信息中提到的与curl、mbstring和 openssl相关的行取消注释
我仍然收到一个错误信息,虽然现在不再说缺少什么,而是简单地指明php.ini文件的位置:
Composer needs the following settings to be enabled in your php.ini file.
Required settings:
The php.ini used by your command-line PHP is: C:\Program Files\php-8.5.3\php.ini
虽然我几乎不懂自己在说什么,但我怀疑问题可能与PHP的 %PATH% 环境变量有关,因为我在查找php.ini文件时发现我电脑上有两个PHP文件夹,一个在C 盘,另一个在C:\Xampp文件夹。看起来Composer似乎在使用前者。
这会不会是问题所在?如果是,我该如何修复?
(如果不是,问题是什么,应该如何解决?)
解决方案
我之前根本不知道Windows版的Composer也有安装程序。
很高兴ini方法奏效,但还有很多其他的包可能对你的项目有用。最终,你会需要Composer。
我可以建议一种替代做法吗?你需要使用命令行。PowerShell或 cmd应该就能搞定。
你可以通过Composer完成所有操作,而不必实际“安装”任何东西。要使用Composer,请从 [Composer下载页] 下载phar文件,例如 最新稳定版composer.phar,并将其放到你的项目文件夹中。
打开你的命令提示符并切换到你的项目文件夹。php.exe composer.phar init
这将初始化Composer,并为你创建一个composer.json文件,用于管理项目依赖。
接着你可以在同一个终端中把phpdotenv或其他任何库添加到你的项目中。(Packagist.org上有大量的库。)
php.exe composer.phar require vlucas/phpdotenv
并且它会下载该库,放到一个名为 "vendor" 的文件夹中供你使用。
你需要修改你的应用以便使用它。Composer自带一个自动加载器,因此你不必手动加载它所管理的所有库。
在你的项目顶部添加 require __DIR__ . '/vendor/autoload.php';,Composer会在你声明库时自动加载库。
