Đóng gói phar

phar là một loại tệp đóng gói tương tự như JAR trong PHP, bạn có thể sử dụng phar để đóng gói dự án webman của mình thành một tệp phar duy nhất, thuận tiện cho việc triển khai.

Xin gửi lời cảm ơn đặc biệt đến fuzqing vì PR của họ.

Lưu ý
Bạn cần tắt tùy chọn cấu hình phar trong php.ini, tức là thiết lập phar.readonly = 0

Cài đặt công cụ dòng lệnh

composer require webman/console

Đóng gói

Thực hiện lệnh php webman build:phar trong thư mục gốc của dự án webman
sẽ tạo một tệp webman.phar trong thư mục bulid.

Cấu hình liên quan đến việc đóng gói nằm trong config/plugin/webman/console/app.php

Lệnh khởi động và dừng liên quan

Khởi động
php webman.phar start hoặc php webman.phar start -d

Dừng
php webman.phar stop

Kiểm tra trạng thái
php webman.phar status

Kiểm tra trạng thái kết nối
php webman.phar connections

Khởi động lại
php webman.phar restart hoặc php webman.phar restart -d

Giải thích

  • Dự án đã đóng gói không hỗ trợ reload, việc cập nhật mã yêu cầu phải restart

  • Để tránh kích thước tệp đóng gói quá lớn chiếm quá nhiều bộ nhớ, bạn có thể thiết lập các tùy chọn exclude_patternexclude_files trong config/plugin/webman/console/app.php để loại bỏ những tệp không cần thiết.

  • Sau khi chạy webman.phar, một thư mục runtime sẽ được tạo trong thư mục nơi chứa webman.phar, dùng để lưu trữ các tệp tạm thời như nhật ký.

  • Nếu dự án của bạn sử dụng tệp .env, cần đặt tệp .env trong thư mục nơi chứa webman.phar.

  • Không bao giờ lưu trữ các tệp người dùng đã tải lên trong gói phar, vì việc thao tác tệp người dùng đã tải lên bằng giao thức phar:// là rất nguy hiểm (lỗ hổng deserialization phar). Các tệp người dùng đã tải lên phải được lưu trữ riêng trên đĩa bên ngoài gói phar, xem thêm bên dưới.

  • Nếu doanh nghiệp của bạn cần tải tệp lên thư mục public, cần tách riêng thư mục public và đặt nó trong thư mục chứa webman.phar, khi đó cần cấu hình config/app.php.

    'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',

    Doanh nghiệp có thể sử dụng hàm trợ giúp public_path($vị trí_rel_file) để tìm vị trí thực tế của thư mục public.

  • Lưu ý rằng webman.phar không hỗ trợ việc khởi động tiến trình tùy chỉnh trên windows.