首页 > 解决方案 > Symfony 获取所需 PHP 模块的列表

问题描述

在将 Symfony 应用程序部署到另一台服务器时,我经常需要等待composer installcache:clear才能知道是否安装了所需的PHP 模块

例如

 // Clearing the cache for the prod environment with debug false                                             


In Imagine.php line 172:

  Gd not installed  

所以我必须运行(或要求系统工程师运行)sudo apt-get install php-gd

在部署应用程序之前有没有办法知道这个列表

就像是:

php bin/console debug:php-modules

PS我想知道一个不使用Docker的解决方案。

标签: phpsymfonydeployment

解决方案


您可以在composer check-platform-reqs之后运行composer install,它会告诉您是否缺少扩展名。

check-platform-reqs 命令检查您的 PHP 和扩展版本是否符合已安装软件包的平台要求。例如,这可用于验证生产服务器是否具有在安装项目后运行项目所需的所有扩展。

虽然,根据您的问题,我假设您正在使用Imagine库,通过查看它的 composer.json 不需要任何 PHP 扩展,它们实际上被列为建议,您必须手动安装它们。

"suggest": {
    "ext-gd": "to use the GD implementation",
    "ext-imagick": "to use the Imagick implementation",
    "ext-gmagick": "to use the Gmagick implementation"
}

推荐阅读