Magento 2.4.2通过DeployHQ执行Composer命令报错求助
执行命令
/opt/plesk/php/7.4/bin/php -d memory_limit=-1 /usr/lib/plesk-9.0/composer.phar update
异常现象
- 该命令仅通过部署服务DeployHQ执行时报错,直接用SSH命令行执行完全正常
- 最初未安装mcrypt模块,尝试安装后mcrypt相关错误仍未解决
- 明明指定了PHP 7.4版本,但出现了类似PHP 8的继承兼容性报错,且仅在DeployHQ执行时出现
- DeployHQ执行过程中会自动将
laminas/laminas-dependency-plugin从v2.4降级到v2.2(适配Magento 2.4.2),本地执行不会触发这个降级操作
报错信息
PHP Deprecated: phpseclib_mcrypt_filter::filter($in, $out, &$consumed, $closing)的返回类型应与php_user_filter::filter($in, $out, &$consumed, bool $closing): int兼容,或使用#[ReturnTypeWillChange]属性临时抑制该通知,位于/var/www/vhosts/rftlve.raftfurniture.co.uk/rftstg.raftfurniture.co.uk/httpdocs/releases/20240913132334/vendor/phpseclib/mcrypt_compat/lib/mcrypt.php第1107行
PHP Deprecated: phpseclib_mcrypt_filter::onCreate()的返回类型应与php_user_filter::onCreate(): bool兼容,或使用#[ReturnTypeWillChange]属性临时抑制该通知,位于/var/www/vhosts/rftlve.raftfurniture.co.uk/rftstg.raftfurniture.co.uk/httpdocs/releases/20240913132334/vendor/phpseclib/mcrypt_compat/lib/mcrypt.php第1158行
PHP Deprecated: phpseclib_mcrypt_filter::onClose()的返回类型应与php_user_filter::onClose(): void兼容,或使用#[ReturnTypeWillChange]属性临时抑制该通知,位于/var/www/vhosts/rftlve.raftfurniture.co.uk/rftstg.raftfurniture.co.uk/httpdocs/releases/20240913132334/vendor/phpseclib/mcrypt_compat/lib/mcrypt.php第1221行
PHP Fatal error: 继承SplDoublyLinkedList时发生错误:Uncaught Exception: Deprecated Functionality: Laminas\Di\DefinitionList::push($definition)的返回类型应与SplDoublyLinkedList::push(mixed $value): void兼容,或使用#[ReturnTypeWillChange]属性临时抑制该通知,位于/var/www/vhosts/rftlve.raftfurniture.co.uk/rftstg.raftfurniture.co.uk/httpdocs/releases/20240913132334/vendor/laminas/laminas-di/src/DefinitionList.php第71行,异常抛出位置/var/www/vhosts/rftlve.raftfurniture.co.uk/rftstg.raftfurniture.co.uk/httpdocs/releases/20240913132334/vendor/magento/framework/App/ErrorHandler.php:61
希望有人能指出问题原因及排查方向。
内容的提问来源于stack exchange,提问作者Shaun

