迁移到其他服务器后,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"
},
有什么想法吗?
答案 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.
答案 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