Laravel缺少composer.json

时间:2016-07-16 07:48:39

标签: laravel composer-php

我从FTP中抽取了客户的项目,网络结构如下:

  • 上-error_docs‖
  • httpdocs(存储laravel文件的地方)
  • 日志

所以我已经将httpdocs中的文件拉到了一个文件夹并相应地更新了homestead.yamlhosts文件,一切正常,就像在网站上一样。

我面临的问题是文件夹结构与我在Laravel上使用的文件夹结构有所不同,并且composer.json缺失,这是副作用,我可以&例如,创建新的控制器。

[ErrorException]
file_get_contents(/home/vagrant/Code/my_project/composer.json): failed to open stream: No such file or directory

如果我手动创建一个,我就无法生成composer update或类似的内容,因此控制器永远不会在项目中注册,就好像我从未创建它一样。< / p>

我尝试运行composer init然后composer update,这会导致删除所有依赖项,并导致项目崩溃。

有谁知道我该如何解决这个问题?

编辑:

项目的公共文件夹也是空的,所以我最终映射了homestead.yaml:

- map: project.dev
  to: /home/vagrant/Code/my_project 

EDIT2:

刚刚发现它是从网上购买的模板......仍然没有更新

1 个答案:

答案 0 :(得分:0)

所以你基本上从共享主机下载了一个项目吗?

如果客户使用源控制/版本控制工具,请向您的客户询问源代码控制/版本控制工具,并从存储库下载项目。

此外,不要运行composer update而是运行composer install,如果您将项目与供应商文件一起下载,则不需要安装依赖项或更新它们。

转到laravel的github存储库并下载默认的composer.json文件,以便您可以自动加载类和文件。

公用文件夹很可能为空,因为共享主机使用public_html作为默认文件夹。将everythng映射到它并将laravel应用程序中的代码更改为指向public_html。

Laravel不支持共享托管,但只有在共享托管服务器/控制台/ cpanel上有可用的作曲家时才能破解它,因为某些共享托管对它来说太有限了。< / p>

如果您需要为服务器访问等额外支持付费,最好使用DigitalOcean这是一个VPS,并且您可以在那里获得更好的服务器访问权。