【问题标题】:laravel installation on shared hosting with composer与作曲家在共享主机上安装 laravel
【发布时间】:2017-07-07 21:45:36
【问题描述】:

我正在尝试学习 Laravel,并按照他们的 tutorial 中的说明在我的共享主机上安装框架。我在 composer 中禁用了 secure-http 选项,但它仍然不会下载框架。

调用:

composer global require "laravel/installer"

回复:

Changed current directory to /home/sledzko/.composer
Warning: Accessing packagist.org over http which is an insecure protocol.

[LogicException]                                                              
Composer repositories that have providers can not load the complete list of packages, use getProviderNames instead.

如何使用 Composer 下载框架?

【问题讨论】:

  • 你为什么不用create-project而不是installer?
  • 我自己也遇到了这个问题,并进行了一些搜索。似乎造成此问题的最常见问题是互联网连接问题。您可能想阅读this github discussionthis one
  • 你为什么不问你共享托管公司。也许他们有安装 Laravel 的解决方案或其他方式。
  • @MarcoAurélioDeleu create-project 也不能​​正常工作。显示相同的错误
  • 您的作曲家版本是多少?请运行composer --version

标签: php laravel composer-php


【解决方案1】:

大多数共享主机不支持终端/命令访问,这就是为什么无法在共享主机上使用 composer 安装 Laravel。

但是有一种方法可以在共享主机中使用 Laravel,您可以在本地机器上安装/设置 Laravel 项目,然后在共享主机上上传项目(所有目录结构和文件)。只需要在 index.php 文件中调整公共目录和引导路径即可。

上传的所有文件都在您的共享主机 www/public_html 文件夹中的公共文件夹中,而所有其他文件夹结构都在单独的文件夹中。之后转到 www/public_html 文件夹中的 index.php 文件,并使用您的路径 laravel 文件夹路径更新以下两行。

需要 DIR.'/../bootstrap/autoload.php'; $app = require_once DIR.'/../bootstrap/app.php';

【讨论】:

  • 我有 SSH 访问权限,我目前正在通过 SSH 使用所有这些命令,所以这不是问题。我会尝试本地安装,但我希望使用 composer 全局安装 Laravel。
【解决方案2】:

请尝试:

composer create-project laravel/laravel --prefer-dist YOUR_PROJECT_NAME

这将帮助您在您的机器上下载稳定版本!

【讨论】:

  • 此命令导致错误:[LogicException] Composer repositories that have providers can not load the complete list of packages, use getProviderNames instead.
  • 哦,对不起@Ajin,我写了虚假陈述。正是:composer create-project --prefer-dist laravel/laravel YOUR_PROJECT_NAME 希望能帮到你!
【解决方案3】:

如果您使用SiteGround,您将是一个幸运的人,只需请求访问 ssh(通过 cpanel),然后在终端上运行您的 composer 命令。

SiteGround 服务器已经全局安装了 composer。

但是...如果您想以艰难的方式完成它,请访问 Siteground 上的 shell 并运行:

 wget https://getcomposer.org/composer.phar -O ${HOME}/composer.phar
 echo "alias composer=\"/usr/local/php72/bin/php-cli ${HOME}/composer.phar \"" >> ${HOME}/.bashrc
 source ${HOME}/.bashrc
 composer --version

注意php72版本,它使用的是PHP 7.2。如果您想要或需要其他版本,请发送ls /usr/local/ 以查看所有版本。

【讨论】:

【解决方案4】:
  1. 使用 Composer 在本地安装包。将在vendor 路径中创建包文件夹。

  2. 复制vendor/packagename 文件夹并将其粘贴到主机的vendor 路径中。

  3. 将主机vendor/composer 文件夹替换为本地vendor/composer 文件夹。
  4. 将您的主机composer.json 替换为您的本地composer.json

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 2016-09-07
    • 2018-06-15
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多