我从FTP中抽取了客户的项目,网络结构如下:
所以我已经将httpdocs中的文件拉到了一个文件夹并相应地更新了homestead.yaml
和hosts
文件,一切正常,就像在网站上一样。
我面临的问题是文件夹结构与我在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:
刚刚发现它是从网上购买的模板......仍然没有更新
答案 0 :(得分:0)
所以你基本上从共享主机下载了一个项目吗?
如果客户使用源控制/版本控制工具,请向您的客户询问源代码控制/版本控制工具,并从存储库下载项目。
此外,不要运行composer update
而是运行composer install
,如果您将项目与供应商文件一起下载,则不需要安装依赖项或更新它们。
转到laravel的github存储库并下载默认的composer.json文件,以便您可以自动加载类和文件。
公用文件夹很可能为空,因为共享主机使用public_html作为默认文件夹。将everythng映射到它并将laravel应用程序中的代码更改为指向public_html。
Laravel不支持共享托管,但只有在共享托管服务器/控制台/ cpanel上有可用的作曲家时才能破解它,因为某些共享托管对它来说太有限了。< / p>
如果您需要为服务器访问等额外支持付费,最好使用DigitalOcean这是一个VPS,并且您可以在那里获得更好的服务器访问权。