2011-11-20 25 views
5

Sau một chút thử nghiệm/tập lệnh/chơi với PHP 5.3 PHAR lưu trữ, tôi đã phát hiện một số vấn đề.Các sự cố không mong muốn với PHP PHAR

glob

Phar không làm việc với glob. Không phải là trình bao bọc (http://www.php.net/manual/en/phar.using.stream.php#104320) hoặc cũng không phải là một cuộc gọi hàm.

Trong dự án thử nghiệm của tôi, tôi đã phải lặp qua các tệp trong PHAR và lọc kết quả theo cụm từ thông dụng tương đương toàn cầu.

imagettfbbox

Tôi không có ý tưởng tại sao, nhưng imagettfbbox cũng không hiểu được những dòng wrapper Phar.

Giải pháp dễ nhất ở đây là trích xuất tệp qua bản sao(). (PHAR :: extractTo trở về với một ngoại lệ mà không có một stacktrace cũng không phải là một số dòng.)

Có những điều bất ngờ khác, mà tôi nên mong đợi? Có các vấn đề đã biết khác không? Và liệu chúng có được ghi chép ở bất cứ đâu?

+0

Vui lòng xem xét thêm các phát hiện của bạn vào cơ sở dữ liệu lỗi của PHP tại http://bugs.php.net – Mchl

Trả lời

2

glob: Tôi không nghĩ rằng glob hỗ trợ suối, vì vậy đây sẽ không được cụ thể cho phar:// nhưng bất kỳ dòng wrapper.

imagettfbbox: Tôi nghĩ điều này giống nhau, không có hỗ trợ cho trình bao bọc luồng nhưng chỉ có tệp trần.

Có các chức năng khác, bạn cũng gặp phải điều này. Ví dụ, lớp ZIP cũng không thể xử lý luồng.

Và không phải tất cả gói trình bao bọc luồng hỗ trợ trình bao bọc luồng, ví dụ: một trình bao bọc hoạt động trên một trình bao khác.

Hãy thoải mái mở các yêu cầu tính năng trong trình gỡ rối php và/hoặc hỗ trợ phát triển PHP để giới thiệu hỗ trợ luồng tốt hơn cho các thành phần bạn cần.

Lỏng lẻo liên quan:In memory download and extract zip archive

+0

Có danh sách các phương thức/lớp học có vấn đề với luồng không? – mheinzerling

+0

Không có gì tôi biết, nếu không tôi sẽ thêm nó vào câu trả lời. Nếu bạn tìm thấy một, hãy thêm vào. – hakre

2

Các microframework silex được phân phối như một tập tin Phar. Chúng tôi đã ghi lại hầu hết các vấn đề mà chúng tôi đã gặp phải vào in the pitfalls section of the documentation.

Lưu ý: Điều này chủ yếu là từ góc nhìn của người dùng.

+0

#pitfalls đã biến mất. –

+1

Chúc mừng, cập nhật liên kết. – igorw

+0

Không còn phân phối phar của silex? – demonkoryu

Các vấn đề liên quan