警告:需要加载 mCrypt 扩展才能使 OpenCart 工作

Warning: mCrypt extension needs to be loaded for OpenCart to work

我正在尝试安装 OpenCart,但收到以下警告: "Warning: mCrypt extension needs to be loaded for OpenCart to work!"

由于我对此一窍不通,有人可以为我指出正确的解决方法吗? Google 真的帮不了我 :(

谢谢!

如果您使用的是 linux 系统并且可以访问控制台,则只需激活 php.ini 中的 mcrypt 模块即可。

  1. 在您的控制台中输入:

    $ sudo php5enmod mcrypt
    

    这将启用该模块。如果您使用 PHP 7 而不是 PHP 5,请使用 phpenmod

  2. 如果报错,先用

    安装模块
    $ sudo apt-get install php5-mcrypt
    

    或 PHP 7 与

    $ sudo apt-get install php7.0-mcrypt
    
  3. 之后你必须重新启动你的网络服务器。将此命令用于 apache2

    $ sudo service apache2 restart
    

    或 nginx 的此命令

    $ sudo service nginx restart
    

如果您出于任何原因无法访问您的终端,可以通过控制面板(cPanel、Plesk 等)启用它。在大多数情况下,它是一键激活,并不复杂。

所以你说你有 FTP 访问权限并且你可以编辑 php.ini。

如果服务器安装了 mcrypt 但未启用,那么如果您添加:

extension=mcrypt.so

然后保存 php.ini 并上传,这应该可以。 请注意,某些服务器不会加载用户的 php.ini,而是在根文件夹中查找 .user.ini 文件。

如果我的上述回答不能帮助您联系您的托管服务提供商,我会建议您。

如果您在 ubuntu[=30 上使用 apache2 =] :

首先尝试使用命令启用 mcrypt:

sudo phpenmod mcrypt

如果未安装 mcrypt,请使用以下命令安装 PHP

PHP 5.6 :

sudo apt-get install php5.6-mcrypt

PHP 7.0:

sudo apt-get install php5.6-mcrypt

安装后启用 mcrypt 并重启 apache

sudo phpenmod mcrypt
sudo service apache2 restart

我通过在文件中添加 mCrypt 的错误消息验证注释解决了这个问题

/install/controller/install/step_2.php change inside private function validate()  
//if (!function_exists('mcrypt_encrypt')) {
//  $this->error['warning'] = $this->language->get('error_mcrypt');
//}

瞧瞧

并在安装此扩展后 那么,您可能想试试这个扩展:

(https://www.opencart.com/index.php?rout ... n_id=35487)

唯一对我有效的解决方案是使用 PHP 5 & mySQL 5(5.x 任何东西) 并在托管中,将 php 版本 5(已过时)分配给网站,还要确保数据库是 mySQL (5.x)

谢谢