Thiếu phần mở rộng Magento 2 PHP


10

Tôi đang cố gắng thiết lập một hộp vagrant mới để phát triển Magento 2, tuy nhiên khi chạy composer install, tôi nhận được các lỗi sau:

Problem 1
    - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
  Problem 2
    - The requested PHP extension ext-mcrypt * is missing from your system. Install or enable PHP's mcrypt extension.
  Problem 3
    - The requested PHP extension ext-curl * is missing from your system. Install or enable PHP's curl extension.
  Problem 4
    - The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
  Problem 5
    - The requested PHP extension ext-xsl * is missing from your system. Install or enable PHP's xsl extension.
  Problem 6
    - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
  Problem 7
    - The requested PHP extension ext-openssl * is missing from your system. Install or enable PHP's openssl extension.
  Problem 8
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.

Tôi đã thử cài đặt từng tiện ích mở rộng này bằng cách sử dụng sudo apt-get install php7.0-mcryptvv, tuy nhiên tôi vẫn nhận được các lỗi ở trên cho biết các tiện ích mở rộng tôi đã cài đặt vẫn còn thiếu. Tôi đã khởi động lại Apache2. Có ý kiến ​​gì không?

PHP -v

PHP 7.0.8 (cli) (built: Jun 26 2016 15:14:18) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

nhập mô tả hình ảnh ở đây


Sau khi cài đặt, bạn khởi động lại php-fpm / apache / nginx. Thứ hai, bạn có chắc chắn rằng "web" đang sử dụng PHP 7, tạo một <?php phpinfo(); trang để kiểm tra và xác nhận xem đó là gì
Barry Carlyon

@BarryCarlyon Câu hỏi cập nhật với ảnh chụp màn hình - hãy cho tôi biết nếu bạn cần thêm thông tin. Làm cách nào để đảm bảo rằng "web" đang sử dụng PHP7?
wickywills

bạn có thể chạy php -mvà xem danh sách các phần mở rộng đã cài đặt mà bạn nhận được như một đầu ra không.
Atish Goswami

Tôi không thể thấy bất cứ điều gì "sai" vì vậy không chắc tại sao Magento tuyên bố các mô-đun không được cài đặt. PHPinfo đã đưa ra đầu ra chính xác, xác nhận nó trên php7 và đã cài đặt các mô-đun đó.
Barry Carlyon

Câu trả lời:


27

Trước khi bạn cài đặt Magento 2, hãy đảm bảo hệ thống của bạn đáp ứng hoặc vượt quá các yêu cầu sau:

Các phần mở rộng PHP cần thiết:

  • PDO / MySQL
  • mbopes
  • mcrypt
  • mhash
  • đơn giản
  • Xoăn
  • gd2, ImageMagick 6.3.7 (hoặc mới hơn) hoặc cả hai
  • xà bông tắm

Nhưng đối với php 7.0, bạn phải sử dụng các lệnh tiếp theo:

sudo apt-get update

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

sudo service apache2 restart

GHI CHÚ:

Sử dụng cái này cho openSUSE:

zypper install php7-gd php7-mcrypt php7-curl php7-intl php7-xsl php7-mbstring php7-openssl php7-zip php7-soap

1
sudo apt-get install php7.0-soapcũng vậy
Thaha kp

Cảm ơn. Thêm.
Vadym Kalin

Bất cứ ai ở đây có cùng một vấn đề trên windows-7 Xampp? Tôi không có bất kỳ dll nào
GunJan Mehta

Ngoài ra, sudo apt install php7.0-bcmath
Arshad Syed

2

Hãy thử điều này để kích hoạt php-curl

sudo apt-get install php7.0-curl

0

Đôi khi dòng lệnh được thiết lập để sử dụng một cấu hình khác (tệp .ini) từ các nguồn khác. Bạn chạy phpinfotừ trang web và nói rằng nó trông ổn, nhưng từ chính dòng lệnh thì sao?

Cụ thể, hãy nhìn vào đầu ra của php -i | grep '.ini'(để xem các tệp ini đã tải) và php -inói chung (để xem các tiện ích mở rộng được tải).

Dự đoán tốt nhất, CLI đang tải php-cli.inihoặc tương tự, và cấu hình thay thế đó không được cập nhật với các tiện ích mở rộng mới mà bạn đã cài đặt. Sao chép những từ trong php.inivà vấn đề của bạn được giải quyết.


-1

Tôi đang sử dụng webpanel centos CWP. Đó là một GUI tương tự như các GUI khác mà bạn phải mua hoặc thuê. Trong bảng điều khiển CentosCWP, có một bộ chọn php cho phép bạn chạy hàng tá phiên bản php khác nhau để phù hợp với nhu cầu của bạn. Khi tôi chọn một phiên bản, có các hộp kiểm để cho phép bạn tùy chỉnh các mô-đun tải. Theo mặc định intl không được kiểm tra. Khi tôi đã kiểm tra và lưu cấu hình php và apache khởi động lại, lỗi sẵn sàng cho mô-đun "intl" bị thiếu đã biến mất.

Nhưng ngoài ra, tôi đã loại bỏ Mage 2.1 và quay trở lại ZC. Mage là cách để làm chậm và phần phụ trợ mới được thiết kế kém theo quan điểm khiêm tốn của tôi.


1
Điều này không cung cấp một câu trả lời. Vui lòng đưa ra các bước cụ thể để giải quyết vấn đề.
brentwpeterson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.