【问题标题】:Where should we place composer.json files for installation of extra PHP libraries?我们应该在哪里放置 composer.json 文件以安装额外的 PHP 库?
【发布时间】:2017-07-20 17:42:34
【问题描述】:

我创建了一个新的 Linode 服务器并安装了一个 LAMP 堆栈。现在我正在尝试为 Stripe 安装一个 PHP 额外库。我没有手动安装库,而是尝试使用建议的作曲家安装它们。

我确实在我的 Ubuntu 16.0.4 系统上安装了 composer。 PHP 正在运行;我可以去一个测试 .php 文件看看它是否有效。

在提供的说明中,它说将以下内容添加到 composer.json:

{
  "require": {
    "stripe/stripe-php": "4.*"
  }
}

大概在那之后我执行

composer install

它会使用composer.json来安装指定的库。

我不清楚的是,当我这样做时,composer.json 的位置应该在哪里?

根据我在 Google 搜索中看到的内容,到目前为止,我发现它应该位于“项目根目录”中。

我不确定那是什么意思。

我已经设置了 Apache。我有一个启用的网站。我知道那个网站的根源。但我不认为我应该在我的虚拟服务器的 html 根目录中安装 PHP 库,是吗?服务器上没有一些通用的地方我会安装额外的 PHP 库以便它们普遍可用吗?也许是一些 PHP 相关的目录?

有什么建议吗?谢谢。

【问题讨论】:

    标签: php apache composer-php


    【解决方案1】:

    在这种情况下,项目根是代码结构的第一层。通常,您会构建您的代码,以便您拥有不希望公众访问的应用程序代码,例如此级别的类。然后,您就有了一个公共目录,您可以在其中放置 html/php、css、图像和 index.php。

    这样,网络服务器根 (www.mywebsite.com) 指向 index.php,用户无法向上遍历查看类。

    【讨论】:

    • 这是一个信息量很大的图表。在我的情况下,index.php 位于我启用的虚拟域的 public_html 目录中。路径看起来像 /var/www/html/www.mywebsite.com/public.html。我假设访问该站点的人只能从 public_html 和向下查看。 composer.json 的合适位置以及它安装的库是否位于 /var/www/html/www.mywebsite.com 级别 - 与 public_html 目录相同的级别?
    • 是的,如果我理解正确的话,这正是您想要放置的地方。这些将您的所有项目依赖项保存在一个地方,这在您有多个项目时非常有用。
    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2015-03-12
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2019-04-18
    相关资源
    最近更新 更多