我对Laravel和Composer有疑问。
如果我使用composer,安装laravel,创建一个项目,然后通过命令提示符创建控制器,视图等,如果我只是上传这些文件,它是否可以在我的Web服务器上运行?
我想问的是,使用php artisan,composer等创建我的文件,直接复制它们有区别吗?
答案 0 :(得分:2)
是的,上传所有文件都可以。
根据您的编写器依赖关系,vendor/
目录变得相当大。您只需上传除 vendor/
目录之外的所有内容。上传后,只需运行composer install
(假设您已在生产服务器上安装了composer)即可安装所有依赖项。因为您上传了文件composer.lock
,所以即使有更新,它也会安装相同版本的依赖项。
它将节省大量上传时间(取决于您的上传速度),但当然只有在您对服务器进行SSH访问时才会起作用。如果还没有,您可以上传所有内容,包括vendor/
目录。
答案 1 :(得分:0)
是的,如果您将文件复制到生产服务器,它将起作用。
答案 2 :(得分:0)
它会起作用。它们只是文件,如果你全部复制它们,为什么它不起作用?
这是一个选择问题,有时候,某些共享托管公司不允许您访问命令行并执行编写器,因此唯一的方法是通过FTP复制文件。
但通常在生产服务器中运行composer比将vendor文件夹中的每个文件上传到服务器更快。
答案 3 :(得分:0)
除了下载依赖项外,Composer还在内部使用命名空间,类和文件组织Laravel。在Laravel开始之前发生的第一个动作是:
require __DIR__. "/../bootstrap/autoload.php";
Composer正在为所有事情提供基础后勤服务。 Laravel严重依赖于Composer,不是因为没有它就不能存在,而是因为使用Composer组织项目要容易得多。因此,根据您的服务器 - 最好使用 composer update 远程更新所有内容,然后手动复制所有内容。