【问题标题】:Attempted to call function "idn_to_ascii" from the global namespace when trying to use Mail methods in Prestashop尝试在 Prestashop 中使用 Mail 方法时尝试从全局命名空间调用函数“idn_to_ascii”
【发布时间】:2020-04-29 04:18:43
【问题描述】:

每当谈到使用内置 PHP mail() 方法时,我都会在 Prestashop 中收到 500 内部错误。开启调试模式后,发现原因是这样的:

(1/1) UndefinedFunctionException

尝试从全局命名空间调用函数“idn_to_ascii”。

在 Mail.php 第 893 行

我在谷歌上搜索了这个问题,因为它很可能很常见,并且遇到了一个 GitHub 问题 https://github.com/PrestaShop/PrestaShop/issues/10640,它指出需要 php-intl 扩展。

我通过 SSH 连接到我的 VPS 并运行 sudo apt install php7.3-intl,因为我使用的 PHP 版本是 7.3。这工作正常并安装了扩展。但是,像这样重新启动 Apache2 服务后:sudo systemctl restart apache2.service。我仍然遇到同样的错误消息。

我已尝试编辑我的 /etc/php/7.3/apache2/php.ini 罚款以在自动加载中包含 extension=intl 但这也没有解决我的问题。

任何信息或帮助提前表示感谢。

【问题讨论】:

    标签: php email prestashop intl


    【解决方案1】:

    在另一个论坛上听取了一些建议后,我创建了一个空白文件并输出了phpinfo(),以查看哪个 PHP ini 是默认加载的,因为我的服务器上有 PHP5。

    这告诉我php5 ini 正在被使用。

    要将其更改为我的 PHP7.3,我这样做了:

    sudo a2dismod php5
    sudo a2enmod php7.3
    

    这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-16
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2016-11-07
      • 2016-10-28
      相关资源
      最近更新 更多