如何在WampServer中使用composer?

时间:2017-06-25 12:21:19

标签: composer-php wampserver

我正在尝试将作曲家与 WampServer 一起使用。

我所有文件的路径都是C:\wamp64\www,但是当我运行编辑器时,它会在其他地方安装供应商文件和其他内容。

我甚至不知道在哪里,我无法改变我项目所在的路径。 我已经尝试了所有的东西,但似乎还没有在我的项目文件夹中安装供应商文件。

5 个答案:

答案 0 :(得分:2)

只需在项目文件夹上运行composer。

假设您的项目路径位于C:\wamp64\www\project0。因此,只需在composer install文件夹中运行project0即可。 Composer将在此vendor文件夹中创建project0文件夹。此文件夹包含一些已安装libraries的文件夹。

Composer还会生成文件composer.lock。该文件包含已安装库的信息。

然后,当您想使用这些库时,请在您的php文件中添加此代码。

require_once "vendor/autoload.php";

这会调用自动加载器,因此您无需再使用require_once来加载PHP Classess。只需使用Class关键字调用use

use Library0/Class0;
use Library1/Class1;
use Library2/Class2;

答案 1 :(得分:1)

我不知道张贴者是否会阅读并投票回答这个答案。我遇到了这个问题并解决了,我想与其他人分享我的研究。

TL; DR

  • 在Windows 10中,如果将Composer安装在Windows Linux子系统(WSL)环境中,则不会在Wampserver中产生错误。
  • 在WSL上安装PHP
  • 然后在WSL上安装Composer

问题

在Windows中,Composer要求将system variable PATH设置为在安装过程中可以正常工作;使用Windows Installer或locally, following this procedure

全局安装都没关系

但是,在PATH中插入可执行PHP文件位置会导致Wampserver ERROR C:/wamp64 or PHP in path出错。如果左键单击任务栏通知区域中的Wampserver图标,则会看到错误消息。

尽管Wampserver可以照常工作,但根据对问题on the official Wampserver forum的回答,它最终可能会失败:

  

Wampserver不在PATH系统环境变量中创建路径。

     

Wampserver不使用PATH系统环境变量。

     

PATH系统环境变量的某些内容-PHP或mysql版本的路径-可能导致Wampserver故障,因为首先在由指示的路径中搜索PHP配置文件(php.ini)或MySQL(my.ini)。在Apache,PHP或MySQL文件夹中搜索PATH环境变量的内容之前,

     

这就是为什么在版本3.1.3中检查PATH环境变量的内容并在出现问题时通知您的原因。

如果您的Wamperserver安装已经遇到此错误,则

  • 遵循Wampserver forum的建议

  • 备份www文件夹中的内容

  • 卸载Wampserver,

  • 重新安装Wampserver。

如果您使用Windows 10并按照前面的步骤进行操作,那么您就可以实施我建议的解决方案了。


解决方案

我在研究中发现的唯一解决方案在this tutorial by Jeff Geerling中进行了解释。我的回答以某种宽松的方式遵循了本教程。

我的出发点

这些是我开始此过程时PC的设置:

尽管带有WSL集成终端的Visual Studio不是严格必需的,但我已经设置了它,因为我打算与其一起安装和使用Composer。

1-在WSL上安装PHP

要正常工作,Composer需要PHP,但未随附WSL。因此,有必要在此环境中安装PHP。根据{{​​3}},在WSL上安装PHP的最简单方法是添加this answer in AskUbuntu.com。在Visual Studio Code WSL集成终端中,键入:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

使用php --version测试PHP是否已正确安装。如果PHP安装正确,终端将返回如下消息:

PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

2-在WSL上安装Composer

有两种方法可以做到:

一个简单的方法:只需在集成终端sudo apt-get install composer上键入内容即可。

第二个,我认为是更好的方法:转到Ondřej Surý's PPA并获得安装代码:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

警告:请勿复制/粘贴本教程中提供的代码来安装Composer 。根据{{​​3}},安装代码

  

将随安装程序的每个版本而变化。

此处的最佳做法是直接从下载页面获取安装代码。

我认为该方法是一种更好的方法,因为使用给定的代码,可以验证文件的SHA384并确保其未被篡改。

如果通过开发人员网站上的安装代码安装了Composer,则为了将该文件放入WSL的全局路径中,请使用bash命令将composer.phar文件移动到/user/bin/local文件夹中:

sudo mv composer.phar /user/bin/local/composer

如果使用第一个命令安装了Composer,则无需执行此最后一步。

要检查软件是否已正确安装,请在集成终端上键入composer。您应该查看作曲家调用选项和可用命令的列表。

请记住,要使用Composer,您需要在WSL终端中键入命令。

答案 2 :(得分:1)

我使用了不同的方法。我承认它很脏,每次切换PHP版本时,我都需要记住要更新我所做的事情,但是很好……它可以工作:)

转到C:\ProgramData\ComposerSetup\bin。那里有一个文件:composer.bat。每次您输入composer installcomposer update命令时都会执行此操作。使用记事本或任何其他文本编辑器进行编辑。您应该会看到类似这样的内容:

@ECHO OFF
php "%~dp0composer.phar" %*

我们想要做的是给php.exe提供直接路径,因此让我们注释掉当前命令并编写我们自己的命令:

@ECHO OFF
REM php "%~dp0composer.phar" %*
C:\wamp64\bin\php\php5.6.40\php.exe "%~dp0composer.phar" %*

现在一切正常。但是一旦在Wampserver中切换到另一个PHP版本,您也应该更新此文件。

顺便说一句:可以进行类似的更改以使PHP嗅探器或PHPUnit也起作用。他们的蝙蝠文件位于C:\Users\[your windows user]\AppData\Roaming\Composer\vendor\bin文件夹中。

答案 3 :(得分:1)

尽管这是一个老文章,但就Wampserver而言,它可能很有用,因此最简单的解决方法是:

1)转到wampserver内的“ bin / php”文件夹,通常位于C:\ wampXX \ bin \ php,然后查找wampserver中使用的php版本。您可以导航到http://localhost来找到它,或者单击Windows任务栏上的Wampserver图标(如果没有版本号,请单击PHP-> Version,然后您会看到已选中一个)

enter image description here

2)在“ bin / php”文件夹中,打开与您的PHP相对应的文件夹 版本,在我的情况下为“ 7.0.33”,然后复制以下路径:

enter image description here

3)转到Windows环境变量,然后在“系统变量”中添加复制到Path变量的PHP文件夹路径(您可以在Google上搜索如何在Windows版本上更改Path变量)。

附言:如果您切换PHP版本,它将不再起作用,因此您必须再次执行该操作。但是现在,更改为正确的PHP版本文件夹。

3)之后,转到作曲家网站下载Windows安装程序。

4)将CD插入项目的根目录并运行:

composer install

就是这样。也许需要做很多工作,但最后一切都非常简单。

答案 4 :(得分:0)

答案非常糟糕。我已经把它弄清楚了。我不得不在commend行中使用cd commned进入这个文件夹。

所以在CMD之后我会输入cd C:\ wamp64 \ www \ project0,这是我问题的正确答案。