我已经使用 composer 安装 drupal - 为什么我仍然有未解决的 php 依赖项?
I've used composer to install drupal - why do I still have unresolved php dependencies?
我正在尝试使用 composer
构建一个 drupal
网络服务器,有人告诉我这是正确的方法。
我用来安装drupal的命令是这样的:
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev mysite --no-interaction
但是,当我启动我的 apache
服务器时,我收到一堆关于缺少库、函数等的错误。我可以通过谷歌搜索每个错误并安装所需的 php 库来解决这些问题 -但是作曲家不应该为我做这件事吗?根据the composer docs;
Composer is a tool for dependency management in PHP. It allows you to
declare the libraries your project depends on and it will manage
(install/update) them for you.
当我导航到 mysite/vendor
目录时,我看到了一堆与 drupal 相关的包,但据我所知,这些只是 drupal 依赖项,而不是 php 依赖项。我在这里遗漏了什么吗?
我认为这里的混淆来自'libraries'这个词。
Composer 是一个依赖管理的工具写在PHP.
PHP 本身依赖于脚本引擎(最初是 Zend, but there are alternatives like Facebook's HHVM 等),它作为编译器和运行时引擎工作,它需要 'libraries' - 将其视为 模块或扩展。这些模块大部分是用 C 编写的,有些是用 C++ 编写的。
Apache 启动时出现 'missing libraries' 错误并不意味着 Composer 缺少任何 Drupal 依赖项,这意味着 PHP 需要使用缺少的模块正确配置或重建。
有 3 种类型的模块 (PHP's extensions membership):
- 带有编译选项的 PHP 二进制文件中不能遗漏的核心模块。
- 与 PHP 核心捆绑在一起但不一定启用的核心扩展模块。
- 未与 PHP 核心捆绑在一起的外部模块。这些模块可从名为 PECL(PHP 扩展社区库)的存储库中获得。
例如,如果您要通过缓存 PHP 代码和用户变量来加速 Drupal 或任何 PHP 应用程序,您将需要一些像 APC 这样的操作码。也就是说,如果没有使用 PHP 编译相应的模块,将 APC 设置添加到 php.ini 将无法正常工作。
我正在尝试使用 composer
构建一个 drupal
网络服务器,有人告诉我这是正确的方法。
我用来安装drupal的命令是这样的:
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev mysite --no-interaction
但是,当我启动我的 apache
服务器时,我收到一堆关于缺少库、函数等的错误。我可以通过谷歌搜索每个错误并安装所需的 php 库来解决这些问题 -但是作曲家不应该为我做这件事吗?根据the composer docs;
Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
当我导航到 mysite/vendor
目录时,我看到了一堆与 drupal 相关的包,但据我所知,这些只是 drupal 依赖项,而不是 php 依赖项。我在这里遗漏了什么吗?
我认为这里的混淆来自'libraries'这个词。
Composer 是一个依赖管理的工具写在PHP.
PHP 本身依赖于脚本引擎(最初是 Zend, but there are alternatives like Facebook's HHVM 等),它作为编译器和运行时引擎工作,它需要 'libraries' - 将其视为 模块或扩展。这些模块大部分是用 C 编写的,有些是用 C++ 编写的。
Apache 启动时出现 'missing libraries' 错误并不意味着 Composer 缺少任何 Drupal 依赖项,这意味着 PHP 需要使用缺少的模块正确配置或重建。
有 3 种类型的模块 (PHP's extensions membership):
- 带有编译选项的 PHP 二进制文件中不能遗漏的核心模块。
- 与 PHP 核心捆绑在一起但不一定启用的核心扩展模块。
- 未与 PHP 核心捆绑在一起的外部模块。这些模块可从名为 PECL(PHP 扩展社区库)的存储库中获得。
例如,如果您要通过缓存 PHP 代码和用户变量来加速 Drupal 或任何 PHP 应用程序,您将需要一些像 APC 这样的操作码。也就是说,如果没有使用 PHP 编译相应的模块,将 APC 设置添加到 php.ini 将无法正常工作。