作曲家升级库,用于不同的PHP版本



我有一个在PHP/5.3.3(生产(上运行的旧项目。我需要将phpMyAdmin/motranslator从3.3升级到4.0,以应用BugFix。我在本地运行composer,然后通过ftp上传。

如果我本地运行PHP/5.3,则由于SSL错误而下载失败:

Downloading (failed)    Update failed (The "https://api.github.com/repos/symfony/expression-language/zipball/422bf02386ab46f615d1d784b771599357461d73"
file could not be downloaded: SSL operation failed with code 1.
OpenSSL Error messages:
    error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
    Failed to enable crypto
    failed to open stream: operation failed)

如果我运行了以后的版本:

此软件包需要php〜5.3.0,但是您的PHP版本(7.2.3(不满足该要求

--ignore-platform-reqs开关安装需要php/7且不会在生产中运行的依赖项。

如果感觉platform选项是要走的方式,但我无法掌握:

{
    "require": {
        "php": "~5.3.0",
        "phpmyadmin/motranslator": "^4.0",
        "ptlis/conneg": "^4.0"
    },
    "config": {
        "platform": {
            "php": "5.3.3"
        }
    }
}

…触发类似的一百行:

symfony/表达式语言v4.0.7要求php ^7.1.3->您的php版本(7.2.3(由" config.platform.php"版本(5.3.3(覆盖,不满足该要求

我应该如何继续?

错误是由于旧版本的openssl与您的php安装捆绑在一起。

,由于您的platform配置为PHP设置为5.3.3,因此,如果您只从composer.json文件中删除"php": "~5.3.0",则一切都应该工作。这将允许composer install继续并安装与PHP 5.3.3的兼容。

我怀疑motranslator的要求不能正确考虑依赖项:

"require": {
    "php": ">=5.3.0",
    "symfony/expression-language": "^4.0 || ^3.2 || ^2.8"
},

…但是最古老的支持表达语言要求说:

"require": {
    "php": ">=5.3.9"
},

这可能解释了我的一些麻烦。我将其作为替代答案分享,因为它偏离了原始问题。

相关内容

  • 没有找到相关文章

最新更新