在Ubuntu服务器上通过composer安装Magento最新版本时出现问题

问题描述

使用composer update

时出现错误

它说:

root@v79574:/var/www/vhosts/compudirect.eu/httpdocs# root@v79574:/var/www/vhosts/compudirect.eu/httpdocs# composer update
PHP Warning:  PHP Startup: Unable to load dynamic library 'bz2' (tried: /usr/lib/PHP/20190902/bz2 (/usr/lib/PHP/20190902/bz2: cannot open shared object file: No such file or directory),/usr/lib/PHP/20190902/bz2.so (/usr/lib/PHP/20190902/bz2.so: cannot open shared object file: No such file or directory)) in UnkNown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'intl' (tried: /usr/lib/PHP/20190902/intl (/usr/lib/PHP/20190902/intl: cannot open shared object file: No such file or directory),/usr/lib/PHP/20190902/intl.so (/usr/lib/PHP/20190902/intl.so: cannot open shared object file: No such file or directory)) in UnkNown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'MysqLi' (tried: /usr/lib/PHP/20190902/MysqLi (/usr/lib/PHP/20190902/MysqLi: cannot open shared object file: No such file or directory),/usr/lib/PHP/20190902/MysqLi.so (/usr/lib/PHP/20190902/MysqLi.so: undefined symbol: MysqLnd_global_stats)) in UnkNown on line 0
PHP Warning:  Module 'curl' already loaded in UnkNown on line 0
PHP Warning:  Module 'exif' already loaded in UnkNown on line 0
PHP Warning:  Module 'fileinfo' already loaded in UnkNown on line 0
PHP Warning:  Module 'mbstring' already loaded in UnkNown on line 0
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package @R_116_4045@ion
Updating dependencies (including require-dev)
Your requirements Could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for magento/product-community-edition 2.4.0 -> satisfiable by magento/product-community-edition[2.4.0].
    - magento/product-community-edition 2.4.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 2
    - Installation request for magento/magento2-functional-testing-framework ^3.0 -> satisfiable by magento/magento2-functional-testing-framework[3.0.0].
    - magento/magento2-functional-testing-framework 3.0.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.

  To enable extensions,verify that they are enabled in your .ini files:
    - /etc/PHP/7.4/cli/PHP.ini
    - /etc/PHP/7.4/cli/conf.d/10-MysqLnd.ini
    - /etc/PHP/7.4/cli/conf.d/10-opcache.ini
    - /etc/PHP/7.4/cli/conf.d/10-pdo.ini
    - /etc/PHP/7.4/cli/conf.d/15-xml.ini
    - /etc/PHP/7.4/cli/conf.d/20-bcmath.ini
    - /etc/PHP/7.4/cli/conf.d/20-calendar.ini
    - /etc/PHP/7.4/cli/conf.d/20-ctype.ini
    - /etc/PHP/7.4/cli/conf.d/20-curl.ini
    - /etc/PHP/7.4/cli/conf.d/20-dom.ini
    - /etc/PHP/7.4/cli/conf.d/20-exif.ini
    - /etc/PHP/7.4/cli/conf.d/20-ffi.ini
    - /etc/PHP/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/PHP/7.4/cli/conf.d/20-ftp.ini
    - /etc/PHP/7.4/cli/conf.d/20-gd.ini
    - /etc/PHP/7.4/cli/conf.d/20-gettext.ini
    - /etc/PHP/7.4/cli/conf.d/20-iconv.ini
    - /etc/PHP/7.4/cli/conf.d/20-imap.ini
    - /etc/PHP/7.4/cli/conf.d/20-json.ini
    - /etc/PHP/7.4/cli/conf.d/20-mbstring.ini
    - /etc/PHP/7.4/cli/conf.d/20-MysqLi.ini
    - /etc/PHP/7.4/cli/conf.d/20-pdo_MysqL.ini
    - /etc/PHP/7.4/cli/conf.d/20-pdo_sqlite.ini
    - /etc/PHP/7.4/cli/conf.d/20-phar.ini
    - /etc/PHP/7.4/cli/conf.d/20-posix.ini
    - /etc/PHP/7.4/cli/conf.d/20-readline.ini
    - /etc/PHP/7.4/cli/conf.d/20-shmop.ini
    - /etc/PHP/7.4/cli/conf.d/20-simplexml.ini
    - /etc/PHP/7.4/cli/conf.d/20-sockets.ini
    - /etc/PHP/7.4/cli/conf.d/20-sqlite3.ini
    - /etc/PHP/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/PHP/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/PHP/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/PHP/7.4/cli/conf.d/20-tokenizer.ini
    - /etc/PHP/7.4/cli/conf.d/20-xmlreader.ini
    - /etc/PHP/7.4/cli/conf.d/20-xmlwriter.ini
    - /etc/PHP/7.4/cli/conf.d/20-xsl.ini
    - /etc/PHP/7.4/cli/conf.d/20-zip.ini
  You can also run `PHP --ini` inside terminal to see which files are used by PHP in CLI mode.
root@v79574:/var/www/vhosts/compudirect.eu/httpdocs#

我运行PHP -i |grep ext-intl

它说:

root@v79574:~# PHP -i |grep ext-intl
PHP Warning:  PHP Startup: Unable to load dynamic library 'bz2' (tried: /usr/lib/PHP/20190902/bz2 (/usr/lib/PHP/20190902/bz2: cannot open shared object file: No such file or directory),/usr/lib/PHP/20190902/MysqLi.so (/usr/lib/PHP/20190902/MysqLi.so: undefined symbol: MysqLnd_global_stats)) in UnkNown on line 0
PHP Warning:  Module 'curl' already loaded in UnkNown on line 0
PHP Warning:  Module 'exif' already loaded in UnkNown on line 0
PHP Warning:  Module 'fileinfo' already loaded in UnkNown on line 0
PHP Warning:  Module 'mbstring' already loaded in UnkNown on line 0

我运行PHP --ini

这是结果:

root@v79574:~# PHP --ini
PHP Warning:  PHP Startup: Unable to load dynamic library 'bz2' (tried: /usr/lib/PHP/20190902/bz2 (/usr/lib/PHP/20190902/bz2: cannot open shared object file: No such file or directory),/usr/lib/PHP/20190902/MysqLi.so (/usr/lib/PHP/20190902/MysqLi.so: undefined symbol: MysqLnd_global_stats)) in UnkNown on line 0
PHP Warning:  Module 'curl' already loaded in UnkNown on line 0
PHP Warning:  Module 'exif' already loaded in UnkNown on line 0
PHP Warning:  Module 'fileinfo' already loaded in UnkNown on line 0
PHP Warning:  Module 'mbstring' already loaded in UnkNown on line 0
Configuration File (PHP.ini) Path: /etc/PHP/7.4/cli
Loaded Configuration File:         /etc/PHP/7.4/cli/PHP.ini
Scan for additional .ini files in: /etc/PHP/7.4/cli/conf.d
Additional .ini files parsed:      /etc/PHP/7.4/cli/conf.d/10-MysqLnd.ini,/etc/PHP/7.4/cli/conf.d/10-opcache.ini,/etc/PHP/7.4/cli/conf.d/10-pdo.ini,/etc/PHP/7.4/cli/conf.d/15-xml.ini,/etc/PHP/7.4/cli/conf.d/20-bcmath.ini,/etc/PHP/7.4/cli/conf.d/20-calendar.ini,/etc/PHP/7.4/cli/conf.d/20-ctype.ini,/etc/PHP/7.4/cli/conf.d/20-curl.ini,/etc/PHP/7.4/cli/conf.d/20-dom.ini,/etc/PHP/7.4/cli/conf.d/20-exif.ini,/etc/PHP/7.4/cli/conf.d/20-ffi.ini,/etc/PHP/7.4/cli/conf.d/20-fileinfo.ini,/etc/PHP/7.4/cli/conf.d/20-ftp.ini,/etc/PHP/7.4/cli/conf.d/20-gd.ini,/etc/PHP/7.4/cli/conf.d/20-gettext.ini,/etc/PHP/7.4/cli/conf.d/20-iconv.ini,/etc/PHP/7.4/cli/conf.d/20-imap.ini,/etc/PHP/7.4/cli/conf.d/20-json.ini,/etc/PHP/7.4/cli/conf.d/20-mbstring.ini,/etc/PHP/7.4/cli/conf.d/20-MysqLi.ini,/etc/PHP/7.4/cli/conf.d/20-pdo_MysqL.ini,/etc/PHP/7.4/cli/conf.d/20-pdo_sqlite.ini,/etc/PHP/7.4/cli/conf.d/20-phar.ini,/etc/PHP/7.4/cli/conf.d/20-posix.ini,/etc/PHP/7.4/cli/conf.d/20-readline.ini,/etc/PHP/7.4/cli/conf.d/20-shmop.ini,/etc/PHP/7.4/cli/conf.d/20-simplexml.ini,/etc/PHP/7.4/cli/conf.d/20-sockets.ini,/etc/PHP/7.4/cli/conf.d/20-sqlite3.ini,/etc/PHP/7.4/cli/conf.d/20-sysvmsg.ini,/etc/PHP/7.4/cli/conf.d/20-sysvsem.ini,/etc/PHP/7.4/cli/conf.d/20-sysvshm.ini,/etc/PHP/7.4/cli/conf.d/20-tokenizer.ini,/etc/PHP/7.4/cli/conf.d/20-xmlreader.ini,/etc/PHP/7.4/cli/conf.d/20-xmlwriter.ini,/etc/PHP/7.4/cli/conf.d/20-xsl.ini,/etc/PHP/7.4/cli/conf.d/20-zip.ini

欢迎提出任何建议!

解决方法

我假设您正在尝试安装Magento 2.4。

似乎您在PHP中没有必需的库。例如,安装了ext-intl。请在终端中签入:

$.ajax({
    type: 'GET',dataType: "json",url:'sign-in.php',success: function(data)
    {
        try {
            data = JSON.parse(data);
        } catch(e) {}
            console.log(e);
        }
    }
 });

请同时检查终端

php -i |grep ext-intl

在此处粘贴两个结果。

,

尝试重新安装所有PHP扩展-

sudo apt-get install php7.4-gd php7.4-mcrypt php7.4-curl php7.4-intl php7.4-xsl php7.4-mbstring php7.4-openssl php7.4-zip php7.4-soap