废弃的功能:idn_to_ascii() Magento 2.3.1 with PHP 7.2

问题描述 投票:0回答:1

我在使用Magento 2.3.1和PHP 7.2,在管理端创建客户账户时面临错误。

在互联网上找到了一些资源来降低PHP版本。

有没有其他的办法可以不降低PHP 7.2版本?

日志。

main.CRITICAL。异常消息。废弃的功能:idn_to_ascii().INTL_IDNA_VARIANT_2003。在public_htmlvendorzendframeworkzend-validatorsrcEmailAddress.php的第560行,INTL_IDNA_VARIANT_2003被废弃。

idn_to_ascii()在第560行。

return (idn_to_ascii($email) ?: $email);
email deprecated php-7.2 magento-2.3
1个回答
1
投票

我在将服务器的PHP版本升级到7.3后,遇到了这个确切的问题。

最初,这个问题和你一样是Zend框架的问题,但在升级到Magento 2.3.5后(试图纠正这个问题),新的Laminas抛出了一个相同的错误。

我尝试了很多解决方案,包括将guzzle从6.5.3降级到6.5.2,就像这里建议的那样。https:/stackoverflow.coma615963439667652。

看来唯一的解决办法是将PHP降级到7.1。即使是在 PHP 7.2 中,这个问题依然存在。我降级到了 PHP 7.1,现在邮件可以发送了。

EDIT: 根据 @user125661 的评论,需要注意的是 PHP 7.1 已经不支持了。

PHP 7.1已经到了生命末期。为了保持PCI合规性,Magento不应该在不支持的软件上运行。从GitHub安装将不再适用于Magento 2.3.4PHP 7.1。使用PHP 7.1.x安装2.3.4的唯一方法是使用Composer。Magento建议使用PHP 7.3

请看 https:/devdocs.magento.comguidesv2.3install-gdesystem-requirements-tech.html#php。

这个问题已经多次遇到,但无法可靠地重现,这里有记录。https:/github.commagentomagento2issues19795。

看起来这个问题最有可能的原因是运行CentOS 6的服务器,这里需要CentOS 7。https:/github.commagentomagento2issues19795#issuecomment-486432245。

最好的办法是把你的服务器放到CentOS 7上,但如果不可能的话,似乎唯一的变通办法就是降级到PHP 7.1。

© www.soinside.com 2019 - 2024. All rights reserved.