我将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>
答案 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。