Laravel使用新版本的PHP迁移问题后

时间:2019-12-12 07:57:28

标签: php laravel-5 composer-php

迁移到其他服务器后,Laravel项目出现问题。旧服务器的PHP版本7.1.3现在在PHP 7.3.11上运行。

但是某些软件包无法安装,例如mpdf / mpdf

报告日志;

composer require mpdf/mpdf

Problem 1
- Conclusion: dont install mpdf/mpdf v 8.0.4
- Conclusion: dont install mpdf/mpdf v 8.0.3
- Conclusion: dont install mpdf/mpdf v 8.0.2
- Conclusion: dont install mpdf/mpdf v 8.0.1
- Conclusion: remove setasign/fpdi 1.6.2.
- Installation request for mpdf/mpdf ^8.0 -> satisfiable by mpdf/mpdf[v8.0.0, v8.0.1, v8.0.2, v8.0.3, v8.0.4].
- Conclusion: don't install setasign/fpdi 1.6.2
- mpdf/mpdf v8.0.0 requires setasign/fpdi ^2.1 -> satisfiable by setasign/fpdi[v2.1.0, v2.1.1, v2.2.0].
- Can only install one of: setasign/fpdi[v2.1.0, 1.6.2].
- Can only install one of: setasign/fpdi[v2.1.1, 1.6.2].
- Can only install one of: setasign/fpdi[v2.2.0, 1.6.2].
- Installation request for setasign/fpdi (locked at 1.6.2) -> satisfiable by setasign/fpdi[1.6.2].
Installation failed, reverting ./composer.json to its original content.


composer require mpdf/mpdf 7.0

[InvalidArgumentException]
Package mpdf/mpdf at version 7.0 has a PHP requirement incompatible with your PHP version (7.3.11)

composer.json:

"require": {
    "php": ">=7.1.3",
    "mpdf/mpdf": "^7.0",
    "alaouy/youtube": "^2.2",
    "anhskohbo/no-captcha": "3.*",
    "anlutro/l4-settings": "^0.4.6",
    "aws/aws-sdk-php-laravel": "~3.0",
    "components/jquery": "^3.3",
    "components/jqueryui": "^1.12",
    "danielstjules/stringy": "^3.1",
    "fideloper/proxy": "~4.0",
    "illuminate/support": "5.7.0",
    "hashids/hashids": "^3.0",
    "hazestudio/laravel-gopay-sdk": "^0.1.5",
    "intervention/image": "^2.3",
    "jenssegers/agent": "^2.5",
    "laracasts/presenter": "^0.2.1",
    "laravel/framework": "^5.7.0",
    "laravel/socialite": "^3.0",
    "laravelcollective/html": "^5.1",
    "league/fractal": "^0.16.0",
    "paragonie/random_compat": "~1.4",
    "predis/predis": "^1.1",
    "proengsoft/laravel-jsvalidation": "2.3.*",
    "tymon/jwt-auth": "1.0.0-rc.3",
    "webpatser/laravel-countries": "dev-master"
},

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

尝试将mpdf更新到版本7.1.7(至少)。 mpdf 7.0不适用于php 7.3。


PHP ≥ 5.6.0 and < 7.3.0.
PHP 7.3 is supported since mPDF v7.1.7
PHP mbstring (including mbregex, which needs to be explicitly enabled in some environments) and gd extensions have to be loaded.

https://mpdf.github.io/about-mpdf/requirements-v7.html

答案 1 :(得分:2)

mpdf 8.x被setasign/fpdi 1.6.2阻止。您可以运行:

composer require "mpdf/mpdf":"^8.0" --update-with-dependencies

确保需要时自动更新其他依赖项。在极少数情况下,当需要更新其他根依赖关系(您在composer.json中定义的依赖关系)时,您甚至可以使用以下选项:--update-with-all-dependencies