不推荐使用的功能:idn_to_ascii()Magento 2.3.1和PHP 7.2

时间:2019-06-19 07:08:42

标签: email deprecated php-7.2 magento-2.3

我将Magento 2.3.1与PHP 7.2结合使用,在管理端创建客户帐户时遇到错误。

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

在不降低PHP 7.2的情况下还有其他可用选项吗?

日志:

main.CRITICAL:异常消息:不建议使用的功能:idn_to_ascii():在第560行的/public_html/vendor/zendframework/zend-validator/src/EmailAddress.php中不建议使用INTL_IDNA_VARIANT_2003

第560行的idn_to_ascii():

<asp:TemplateField HeaderText="xxx" >
                <ItemTemplate>
                    //use label show message
                    <asp:Label id="id" runat="server" 
                        Text='<%# Bind("columnName") %>'/>                        
                </ItemTemplate>
                <EditItemTemplate>                   
                    <asp:TextBox runat="server" Style="text-align: left" ID="idT" Width="400px"  Text='<%# Bind("columnName") %>'></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

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

最初,问题出在像您一样的Zend框架上,但是在升级到Magento 2.3.5(以试图纠正问题)之后,对于较新的Laminas抛出了相同的错误。

我尝试了多种解决方案,包括将枪口从6.5.3降级到6.5.2,如此处建议的那样:https://stackoverflow.com/a/61596343/9667652

似乎唯一的解决方案是将PHP降级到7.1。即使使用PHP 7.2,问题仍然存在。我降级到PHP 7.1,现在正在发送电子邮件。

编辑:根据@ user125661的评论,必须注意不再支持PHP 7.1:

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

请参阅:https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements-tech.html#php

此问题屡屡遇到,但无法可靠地重现,如此处记录:https://github.com/magento/magento2/issues/19795

该问题的最可能原因似乎是运行CentOS 6的服务器,其中需要CentOS 7:https://github.com/magento/magento2/issues/19795#issuecomment-486432245

最好的选择是将您的服务器安装到CentOS 7上,但是在不可能的情况下,似乎唯一的解决方法是降级到PHP 7.1。