Nhà cung cấp/tự động tải xuống PHP
Tôi cố tải một trang drupal 9 lên Hostinger nhưng tất cả những gì tôi nhận được là cảnh báo này. Tôi sử dụng Trình soạn thảo để thiết lập trang web trong máy chủ wamp64 của mình (máy chủ cục bộ) và tôi sử dụng dịch vụ tải lên trong hostinger để tải tệp zip chứa thư mục gốc của mình lên. tôi hiểu rằng ở đó. có 1 hoặc nhiều tệp bị thiếu ở đây nhưng tôi không chắc tệp nào và cách tải chúng ở nơi cần đến. Bất cứ ai có thể chỉ cho tôi đi đúng hướng hoặc tốt hơn, giải thích cho một người giả như tôi có gì sai và cách khắc phục. Xin vui lòng. Đây là lời cảnh báo Show
Cảnh báo. yêu cầu (/home/u109xxxxx/domains/xxxxx-is. com/public_html/. /nhà cung cấp/tự động tải. php). Không thể mở luồng. Không có tệp hoặc thư mục như vậy trong /home/u109xxxxx/domains/xxxxx-is. com/public_html/autoload. php trên dòng 16 Lỗi nghiêm trọng. Lỗi chưa xử lý. Yêu cầu mở không thành công '/home/u109xxxxx/domains/xxxxx-is. com/public_html/. /nhà cung cấp/tự động tải. php' (bao gồm_path='. /opt/alt/php80/usr/share/lê. /opt/alt/php80/usr/share/php. /usr/chia sẻ/lê. /usr/share/php') trong /home/u109xxxxx/domains/xxxxx-is. com/public_html/autoload. php. 16 Dấu vết ngăn xếp. #0 /home/u109xxxxx/miền/xxxxx-là. com/public_html/index. php(14). require_once() #1 {main} được đưa vào /home/u109xxxxx/domains/xxxxx-is. com/public_html/autoload. php trên dòng 16 Đặt một tệp có tên là nhà soạn nhạc. json ở thư mục gốc của kho lưu trữ gói của bạn, chứa thông tin này
Đây là thông tin cực kỳ tối thiểu mà bạn phải cung cấp Để biết thêm chi tiết về cách đặt tên gói và các trường bạn có thể sử dụng để ghi lại gói của mình tốt hơn, hãy xem trang giới thiệu Xác thực tệpChạy Cam kết tệpThêm xuất bản nóĐăng nhập hoặc đăng ký trên trang web này, sau đó nhấn nút gửi trong menu Khi bạn đã nhập URL kho lưu trữ công khai của mình vào đó, gói của bạn sẽ được tự động thu thập dữ liệu theo định kỳ. Bạn chỉ cần đảm bảo rằng bạn giữ nhà soạn nhạc. tệp json được cập nhật Chia sẻ mã riêng tưSử dụng Private Packagist nếu bạn muốn chia sẻ mã riêng dưới dạng gói Composer với đồng nghiệp hoặc khách hàng mà không xuất bản nó cho mọi người trên Packagist. tổ chức. Packagist riêng cho phép bạn quản lý kho lưu trữ Trình soạn thảo riêng của mình với xác thực theo người dùng, quản lý nhóm và tích hợp trong các hệ thống kiểm soát phiên bản Để giới thiệu cách sử dụng cơ bản của chúng tôi, chúng tôi sẽ cài đặt
php composer.phar update0. Thiết lập dự ánĐể bắt đầu sử dụng Composer trong dự án của bạn, tất cả những gì bạn cần là một tệp 0. Tệp này mô tả các phần phụ thuộc của dự án của bạn và cũng có thể chứa siêu dữ liệu khác. Thông thường, nó sẽ nằm trong thư mục trên cùng của kho lưu trữ dự án/VCS của bạn. Về mặt kỹ thuật, bạn có thể chạy Composer ở bất cứ đâu nhưng nếu bạn muốn xuất bản một gói lên Packagist. org, nó sẽ phải có khả năng tìm thấy tệp ở đầu kho lưu trữ VCS của bạnPhím php composer.phar update2Điều đầu tiên bạn chỉ định trong 0 là chìa khóa. Bạn đang nói với Composer những gói mà dự án của bạn phụ thuộc vào
Như bạn có thể thấy, lấy một đối tượng ánh xạ tên gói (e. g. 7)Trình soạn thảo sử dụng thông tin này để tìm kiếm tập hợp tệp phù hợp trong gói "kho" mà bạn đăng ký bằng khóa hoặc trong Packagist. org, kho gói mặc định. Trong ví dụ trên, do không có kho lưu trữ nào khác được đăng ký trong tệp 0 nên giả định rằng gói monolog/monolog đã được đăng ký trên Packagist. tổ chức. (Đọc thêm và về kho lưu trữ)Tên góiTên gói bao gồm tên nhà cung cấp và tên dự án. Thường thì những thứ này sẽ giống hệt nhau - tên nhà cung cấp chỉ tồn tại để ngăn xung đột đặt tên. Ví dụ, nó sẽ cho phép hai người khác nhau tạo một thư viện tên là 1. Một người có thể tên là 2 trong khi người kia có thể là 3Đọc thêm về xuất bản các gói và đặt tên gói. (Lưu ý rằng bạn cũng có thể chỉ định "gói nền tảng" làm phần phụ thuộc, cho phép bạn yêu cầu một số phiên bản nhất định của phần mềm máy chủ. Xem bên dưới. ) Hạn chế phiên bản góiTrong ví dụ của chúng tôi, chúng tôi đang yêu cầu gói Monolog với ràng buộc phiên bản. Điều này có nghĩa là bất kỳ phiên bản nào trong nhánh phát triển 5 hoặc bất kỳ phiên bản nào lớn hơn hoặc bằng 2. 0 và nhỏ hơn 2. 1 ( 6)Vui lòng đọc các phiên bản để biết thêm thông tin chi tiết về các phiên bản, cách các phiên bản liên quan với nhau và về các ràng buộc của phiên bản
cài đặt phụ thuộcĐể cài đặt ban đầu các phụ thuộc đã xác định cho dự án của bạn, bạn nên chạy lệnh
Điều này sẽ khiến Composer làm hai việc
Cam kết tệp php composer.phar update2 của bạn để kiểm soát phiên bảnViệc ủy thác tệp này cho kiểm soát phiên bản là rất quan trọng vì nó sẽ khiến bất kỳ ai thiết lập dự án sử dụng chính xác các phiên bản phụ thuộc mà bạn đang sử dụng. Máy chủ CI của bạn, máy sản xuất, các nhà phát triển khác trong nhóm của bạn, mọi thứ và mọi người đều chạy trên cùng một phụ thuộc, giúp giảm thiểu khả năng xảy ra lỗi chỉ ảnh hưởng đến một số phần của quá trình triển khai. Ngay cả khi bạn phát triển một mình, trong sáu tháng khi cài đặt lại dự án, bạn có thể cảm thấy tự tin rằng các phụ thuộc được cài đặt vẫn hoạt động ngay cả khi các phụ thuộc của bạn đã phát hành nhiều phiên bản mới kể từ đó. (Xem ghi chú bên dưới về cách sử dụng lệnh 0. )
Cài đặt từ php composer.phar update2Nếu đã có tệp 2 trong thư mục dự án, điều đó có nghĩa là bạn đã chạy lệnh 0 trước đó hoặc ai đó khác trong dự án đã chạy lệnh 0 và chuyển giao tệp 2 cho dự án (điều này tốt)Dù bằng cách nào, việc chạy 5 khi có tệp 2 sẽ giải quyết và cài đặt tất cả các phụ thuộc mà bạn đã liệt kê trong 0, nhưng Trình soạn thảo sử dụng các phiên bản chính xác được liệt kê trong 2 để đảm bảo rằng các phiên bản gói nhất quán cho mọi người làm việc trong dự án của bạn. Kết quả là bạn sẽ có tất cả các phần phụ thuộc được yêu cầu bởi tệp 0 của mình, nhưng chúng có thể không phải là tất cả các phiên bản mới nhất hiện có (một số phần phụ thuộc được liệt kê trong tệp 2 có thể đã phát hành các phiên bản mới hơn kể từ khi tệp được tạo). Điều này là do thiết kế, nó đảm bảo rằng dự án của bạn không bị hỏng do những thay đổi không mong muốn trong các phụ thuộcVì vậy, sau khi tìm nạp các thay đổi mới từ kho lưu trữ VCS của bạn, bạn nên chạy Trình soạn thảo 5 để đảm bảo thư mục nhà cung cấp được đồng bộ hóa với tệp 2 của bạn________số 8_______Cập nhật các phụ thuộc lên các phiên bản mới nhất của chúngNhư đã đề cập ở trên, tệp 2 ngăn bạn tự động nhận các phiên bản mới nhất của phần phụ thuộc của mình. Để cập nhật lên các phiên bản mới nhất, hãy sử dụng lệnh. Thao tác này sẽ tìm nạp các phiên bản phù hợp mới nhất (theo tệp 0 của bạn) và cập nhật tệp khóa với các phiên bản mới
Nếu bạn chỉ muốn cài đặt, nâng cấp hoặc xóa một phần phụ thuộc, bạn có thể liệt kê rõ ràng phần phụ thuộc đó dưới dạng đối số
người đóng góingười đóng gói. org là kho lưu trữ Composer chính. Kho lưu trữ Composer về cơ bản là một nguồn gói. một nơi mà bạn có thể nhận được các gói từ. Packagist đặt mục tiêu trở thành kho lưu trữ trung tâm mà mọi người sử dụng. Điều này có nghĩa là bạn có thể tự động 2 bất kỳ gói nào có sẵn ở đó mà không cần chỉ định thêm vị trí Composer sẽ tìm gói đóNếu bạn đến Packagist. org, bạn có thể duyệt và tìm kiếm các gói Bất kỳ dự án nguồn mở nào sử dụng Trình soạn thảo đều được khuyến nghị xuất bản các gói của họ trên Packagist. Thư viện không cần phải có trên Packagist để được Composer sử dụng, nhưng nó cho phép các nhà phát triển khác khám phá và áp dụng nhanh hơn Gói nền tảngTrình soạn thảo có các gói nền tảng, là các gói ảo dành cho những thứ được cài đặt trên hệ thống nhưng Trình soạn thảo không thực sự cài đặt được. Điều này bao gồm bản thân PHP, phần mở rộng PHP và một số thư viện hệ thống
Bạn có thể sử dụng để lấy danh sách các gói nền tảng có sẵn tại địa phương của mình tự động tảiĐối với các thư viện chỉ định thông tin tự động tải, Trình soạn thảo tạo tệp 3. Bạn có thể bao gồm tệp này và bắt đầu sử dụng các lớp mà các thư viện đó cung cấp mà không cần làm gì thêm
Bạn thậm chí có thể thêm mã của riêng mình vào trình tải tự động bằng cách thêm một trường vào 0
Nhà soạn nhạc sẽ đăng ký trình tải tự động PSR-4 cho không gian tên 6Bạn xác định ánh xạ từ không gian tên đến thư mục. Thư mục 7 sẽ nằm trong thư mục gốc của dự án của bạn, cùng cấp độ với thư mục 6. Tên tệp ví dụ sẽ là 9 chứa lớp monolog/monolog 0Sau khi thêm trường, bạn phải chạy lại lệnh này
Lệnh này sẽ tạo lại tệp 3. Xem phần để biết thêm thông tinBao gồm tệp đó cũng sẽ trả về phiên bản trình tải tự động, vì vậy bạn có thể lưu trữ giá trị trả về của lệnh gọi bao gồm trong một biến và thêm nhiều không gian tên hơn. Điều này có thể hữu ích cho các lớp tự động tải trong bộ thử nghiệm, chẳng hạn
Ngoài tính năng tự động tải PSR-4, Composer còn hỗ trợ tính năng tự động tải PSR-0, sơ đồ lớp và tệp. Xem tài liệu tham khảo để biết thêm thông tin Xem thêm tài liệu về tối ưu hóa trình tải tự động
|