Trình soạn thảo yêu cầu phiên bản PHP

Lỗi nói rằng bản cập nhật yêu cầu phiên bản PHP cao hơn phiên bản mà tệp

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1 của bạn được đặt thành. Để giải quyết, bạn cần chỉnh sửa cài đặt
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
2 trong tệp
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1 của mình

Mục đích của cài đặt này là để đảm bảo rằng Trình soạn thảo chỉ cài đặt các phụ thuộc tương thích với từng môi trường của bạn. Ví dụ: nếu môi trường phát triển của bạn đang chạy PHP 7. 4. 11, nhưng quá trình sản xuất đang chạy PHP 7. 2. 24, bạn sẽ muốn đặt cài đặt thành

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
4 để Trình soạn thảo không cài đặt bất kỳ phụ thuộc nào yêu cầu PHP 7. 3 hoặc 7. 4, vì cuối cùng chúng sẽ gây ra lỗi cú pháp PHP khi sản xuất

Trước khi thay đổi cài đặt, trước tiên hãy xác định phiên bản PHP nào đang chạy trên từng môi trường của bạn và chuyển sang phiên bản nhỏ nhất

Sau đó, mở tệp

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1 của bạn trong trình soạn thảo văn bản và tìm cài đặt
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
2 của bạn

{
  "...": "...",
  "config": {
    "platform": {
      "php": "7.0"
    }
  }
}

Thay đổi giá trị thành phiên bản PHP thấp nhất đang sử dụng. Sau đó thử kiểm tra các bản cập nhật hoặc chạy lại

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
7

Nếu phiên bản PHP thấp nhất đang sử dụng thấp hơn phiên bản mà bản cập nhật yêu cầu, bạn sẽ cần cập nhật [các] môi trường của mình để đáp ứng yêu cầu mới

Composer đã có tùy chọn

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
8 [chú ý chữ s trong
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
9], nhưng nó bỏ qua tất cả các yêu cầu nền tảng, bao gồm phiên bản PHP, tiện ích mở rộng [
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
0] và
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1

Tùy chọn

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
2 mới có thể được sử dụng để đặt các yêu cầu cụ thể mà Trình soạn thảo có thể bỏ qua

Bỏ qua nhiều yêu cầu nền tảng

Bạn có thể chỉ định một hoặc nhiều yêu cầu nền tảng để bỏ qua bằng cách sử dụng tùy chọn này nhiều lần

Ví dụ: để bỏ qua phiên bản PHP và

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
3, nhưng thực thi tất cả các yêu cầu nền tảng khác, bạn có thể sử dụng lệnh như thế này

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip

Cài đặt các gói Trình soạn thảo trên các phiên bản PHP chưa được phát hành

Trường hợp sử dụng phổ biến của tùy chọn

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
4 sẽ là kiểm tra các gói PHP trong các phiên bản PHP chưa được phát hành hoặc bản dựng
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
0 của PHP

Các thư viện như PHPUnit đi kèm với ràng buộc phiên bản PHP khá nghiêm ngặt trong tệp

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1 của chúng, điều này ngăn không cho chúng cài đặt các thư viện trong phiên bản
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
0 của PHP

Thay vì sử dụng

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
3, sẽ bỏ qua tất cả các yêu cầu nền tảng, chẳng hạn như tiện ích mở rộng [có thể cần thiết để gói hoạt động], bạn có thể sử dụng tùy chọn
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
4 để chỉ định có chọn lọc các yêu cầu nền tảng mà bạn cố ý bỏ qua

Nếu môi trường phát triển và sản xuất của bạn không phù hợp, bạn có thể dễ dàng gặp khó khăn khi đến lúc triển khai máy chủ trực tiếp. Không có gì lạ khi các nhà phát triển thấy mình làm việc với một phiên bản PHP và sử dụng một phiên bản khác trong đích đến cuối cùng của ứng dụng hoặc trang web. Nếu bạn sử dụng Trình soạn thảo để quản lý các gói PHP, sẽ rất tốt nếu bạn có thể tính đến điều này để tránh mọi bất ngờ khó chịu sau khi triển khai. Rất may Nhà soạn nhạc đã bảo hiểm này

Chúng tôi có thể cho Composer biết phiên bản PHP nào chúng tôi đang hỗ trợ với ứng dụng/trang web của mình bằng cách sử dụng cấu hình

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
6 trong trình soạn thảo của chúng tôi. tập tin json

{
    "name": ".../...",
    "config": {
        "platform": {
            "php": "5.6.1"
        }
    },
    "require": {
        ...
    }
}

Trong ví dụ này, chúng tôi đang giả mạo phiên bản PHP thành 5. 6. 1. Điều này có nghĩa là bất cứ khi nào chúng tôi thử và cài đặt hoặc cập nhật một gói với Trình soạn thảo, phiên bản nền tảng giả mạo của PHP sẽ được tính đến thay vì phiên bản PHP đang được sử dụng trên dòng lệnh mà chúng tôi đang chạy Trình soạn thảo từ. Điều này thực sự hữu ích nếu môi trường sản xuất của chúng tôi sử dụng một thiết lập khác với môi trường chúng tôi đang phát triển. Ví dụ: bạn có thể đang sử dụng phiên bản cập nhật của PHP 7 cục bộ, nhưng triển khai tới máy chủ vẫn sử dụng phiên bản 5. 6

Một cách khác để thiết lập điều này là từ dòng lệnh

composer config platform.php 5.6.1

Điều này sẽ đặt tùy chọn

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
6 trong trình soạn nhạc. json cho chúng tôi. Trong ví dụ này, nó sẽ thêm PHP 5. 6. 1 vào tệp JSON giống như trong ví dụ trước. Bạn cũng có thể sử dụng cờ
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
8 để đặt cờ này trên toàn cầu

Trên nền tảng gói Trình soạn thảo, các yêu cầu được thêm vào giống như các phụ thuộc gói. Vì vậy, ví dụ: nếu chúng tôi có một gói yêu cầu tối thiểu PHP 7. 1. 0 nhà soạn nhạc. tệp json sẽ trông như thế nào. -

________số 8

Đây là những gì Trình soạn thảo sẽ sử dụng khi cài đặt và cập nhật các gói khi dự án của chúng tôi có cấu hình nền tảng

Lưu ý rằng khi thêm yêu cầu PHP tối thiểu, chúng tôi thêm yêu cầu này dưới dạng phụ thuộc bằng cách sử dụng khóa

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
9, trong khi cài đặt thiết lập nền tảng sử dụng
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
6 trong tùy chọn
composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
1

Khi nói đến việc cài đặt và cập nhật các gói, đôi khi bạn có thể muốn bỏ qua các yêu cầu nền tảng. Ví dụ: khi thêm hoặc cập nhật phần phụ thuộc của nhà phát triển sẽ không bao giờ được cài đặt trên môi trường sản xuất. Đối với điều này, chúng ta có thể sử dụng cờ

composer config platform.php 5.6.1
0

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
0

Mặc dù sử dụng cấu hình

composer install --ignore-platform-req=php --ignore-platform-req=ext-zip
6 trong composer. json có thể không bắt được tất cả các gói không phù hợp khi sử dụng Trình soạn thảo, hy vọng rằng nó sẽ bắt được hầu hết các mã không tương thích có thể tìm thấy đường vào môi trường sản xuất của bạn. Đây là một cứu cánh cho tôi trong quá khứ và giúp tôi tránh được nhiều cơn đau đầu

Nhà soạn nhạc có yêu cầu PHP không?

Nếu bạn đã cài đặt Trình soạn thảo cục bộ, bạn cần sử dụng trình soạn thảo php. lệnh phar trong cùng thư mục nơi nó được cài đặt để sử dụng Composer .

Làm cách nào để cập nhật phiên bản PHP cho nhà soạn nhạc?

Để cập nhật các gói của bạn .
Điều hướng đến thư mục gốc của repo git của bạn, nơi nhà soạn nhạc của bạn. .
Chạy cập nhật trình soạn thảo [trên máy cục bộ của bạn] để cập nhật các gói cần thiết và tạo lại trình soạn thảo. .
Cam kết nhà soạn nhạc được cập nhật. .
Trong Engine Yard Cloud, nhấp vào Công cụ > Bảng điều khiển
Chọn một môi trường bằng cách nhấp vào tên môi trường

Trình soạn thảo sử dụng phiên bản PHP nào?

- Trình soạn thảo gốc. json yêu cầu php >=7. 4 nhưng phiên bản php của bạn [7. 3. 14] không đáp ứng yêu cầu đó.

Làm cách nào để cài đặt trình soạn thảo trong PHP 8?

Để cài đặt trình soạn thảo trên toàn cầu, hãy sử dụng lệnh sau. Lệnh này sẽ tải xuống và cài đặt Trình soạn thảo dưới dạng lệnh trên toàn hệ thống có tên là composer , bên dưới /usr/local/bin. sudo php /tmp/composer-setup. php --install-dir= /usr/local/bin --filename= composer .

Chủ Đề