我上传什么与作曲家工作时


What do I upload when working with Composer?

这是我第一次使用Composer来处理PHP项目的依赖项。我有一个项目文件夹里面有

APP文件夹(带有启动器配置文件)PUBLIC文件夹(包含php和css文件)VENDOR文件夹(由编写器创建)composer.jsoncomposer.lock

问题是,我上传什么到我的服务器,以使项目实时?我读过你不应该上传由composer生成的供应商文件夹,但不确定它应该如何工作。他们还提到你应该运行install,但是当项目在服务器上而不是本地时,该怎么做呢?

谢谢。

让vendor文件夹离开VCS (git, svn)是很好的,但是,如果你部署到一个共享主机,其中一个不允许你SSH访问,在这种情况下,是的,你需要上传供应商文件夹,每次你更新你的项目中的composer

Composer允许您管理项目的依赖项。但首先,你是在构建一个应用程序还是一个库?如果它是一个应用程序,您应该上传编写器。锁定到您的版本控制。如果它是一个库,你不应该这样做。供应商文件夹永远不应该成为你的版本控制的一部分,也不应该上传到你的服务器(在这里找到原因)。

基本上

:

  • 设置作曲器。. json文件,包含所有依赖项,项目名称,描述等。
  • 在你的机器上安装composer, getcomposer.org有很好的教程教你怎么做。(作曲者也有作曲者。Phar基本上就是一个文件中的作曲应用。下载并使用php composer.phar [command...]而不是composer)。
  • 在项目根目录下,运行composer install(或者php composer.phar install,如果你有编译器的话)。(在您的项目中)。所有依赖项都将被安装,生成供应商文件夹并更新编写器。

作曲家。Lock告诉您项目中的每个依赖项。这就是为什么要把它放在应用程序的版本控制中,因为您希望在本地机器和服务器上运行相同版本的依赖项。

对于库,你不会这样做,因为你不知道其他开发人员在使用你的库时会依赖于什么。

您所需要做的就是:

  1. 忽略供应商目录和编写器。锁文件
  2. 将项目的其余部分推送到服务器
  3. 首先在服务器上运行composer自我更新
  4. 之后,运行composer update.
  5. 现在完成