执行此docker命令时,为什么会出现PHP扩展名错误?

时间:2020-05-21 03:20:59

标签: php docker docker-compose silverstripe

我有一个composer.json文件,该文件应安装silverstripe和其他一些东西:

{
    "name": "silverstripe/installer",
    "type": "silverstripe-recipe",
    "description": "The SilverStripe Framework Installer",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/onfire/Silverstripe-Recaptcha"
        }
    ],
    "require": {
        "php": ">=5.6.0",
        "silverstripe/recipe-plugin": "^1.2",
        "silverstripe/recipe-cms": "^4.4",
        "silverstripe-themes/simple": "~3.2.0",
        "symbiote/silverstripe-gridfieldextensions": "^3.2",
        "silverstripe/subsites": "^2",
        "silverstripe/restfulserver": "^2.1",
        "wilr/silverstripe-googlesitemaps": "^2.1",
        "undefinedoffset/silverstripe-nocaptcha": "^2.0",
        "i-lateral/silverstripe-googleshoppingfeed": "^2.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^5.7"
    },
    "extra": {
        "project-files-installed": [
            "app/.htaccess",
            "app/_config.php",
            "app/_config/mysite.yml",
            "app/src/Page.php",
            "app/src/PageController.php"
        ],
        "public-files-installed": [
            ".htaccess",
            "index.php",
            "install-frameworkmissing.html",
            "install.php",
            "web.config"
        ]
    },
    "config": {
        "process-timeout": 600
    },
    "prefer-stable": true,
    "minimum-stability": "dev"
}

我正在尝试使用以下命令安装这些文件:

docker run --rm -v $(pwd):/app composer install

该命令执行但输出:

使用软件包信息加载composer存储库安装 锁定文件中的依赖项(包括require-dev)您的要求 无法解析为一组可安装的软件包。

问题1 -Silverstripe /框架4.5.0的安装要求-> Silverstripe /框架[4.5.0]可满足。 -silverstripe / framework 4.5.0需要ext-intl *->系统中缺少所请求的PHP扩展intl。问题2 -silverstripe / framework 4.5.0需要ext-intl *->系统中缺少所请求的PHP扩展intl。 -wilr / silverstripe-googlesitemaps 2.1.5需要silverstripe / framework ^ 4->可以满足 silverstripe /框架[4.5.0]。 -wilr / silverstripe-googlesitemaps 2.1.5的安装请求-> wilr / silverstripe-googlesitemaps [2.1.5]可以满足。

要启用扩展,请确认您的.ini中已启用扩展 文件: -/usr/local/etc/php/php-cli.ini -/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini -/usr/local/etc/php/conf.d/docker-php-ext-zip.ini您还可以在终端中运行php --ini来查看PHP中使用了哪些文件 CLI模式。

例如,这与Laravels composer.json文件一起使用时效果很好,为什么不能与该文件一起使用?

这里到底发生了什么,我该如何解决错误?由于我正在使用的命令正在创建一个临时容器,使用此方法甚至可以做到吗?

我不想在系统上安装composer,因此此方法是必需的。

0 个答案:

没有答案