这是我第一次使用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告诉您项目中的每个依赖项。这就是为什么要把它放在应用程序的版本控制中,因为您希望在本地机器和服务器上运行相同版本的依赖项。
对于库,你不会这样做,因为你不知道其他开发人员在使用你的库时会依赖于什么。
您所需要做的就是:
- 忽略供应商目录和编写器。锁文件
- 将项目的其余部分推送到服务器
- 首先在服务器上运行composer自我更新
- 之后,运行composer update.
- 现在完成