Hãy để tôi làm sáng tỏ một quan niệm sai lầm mà bạn có thể có về Hiphop và Xcache. XCache hoạt động bằng cách thêm bộ nhớ đệm Opcode vào thực thi PHP của ZEND (như APC và bạn bè), trong khi HipHop của Facebook cho phép mã PHP được chuyển thành mã C++ và sau đó được biên dịch bằng g ++. Không thể chạy XCache với HipHop vì HipHop không phụ thuộc vào trình thông dịch Zend (và thậm chí không sử dụng opcodes php vì nó được biên dịch sang bytecode sau khi được chuyển thành C++).
Bây giờ để trả lời câu hỏi của bạn, HipHop đang được sử dụng trực tiếp để lưu trữ một lượng lớn lưu lượng truy cập của Facebook. Facebook sẽ không phát hành dự án này nếu nó không ổn định, nhưng vì nó rất mới, tôi vẫn sẽ thận trọng. HipHop không chỉ là một bản vá cho Zend Interpreter cũ, nó là một cách hoàn toàn khác để chạy mã PHP và có thể sẽ có một vài lỗi trong đó.
Một điều mà Facebook đã làm để đảm bảo rằng Hiphop đã hoạt động trước khi họ chuyển sang đó là họ đã có thể thiết lập các bài kiểm tra đơn vị rất nghiêm ngặt về từng yêu cầu có thể trên trang web của họ. Bằng cách đó, nếu đầu ra từ Hiphop khác với Zend PHP bình thường, họ sẽ quay lại và gỡ lỗi thêm cho đến khi mọi thứ "làm việc cho họ". Chỉ vì nó "hoạt động" trên cơ sở mã Facebook không chứng minh rằng nó sẽ làm việc cho bạn. Nếu bạn quyết định chuyển sang HipHop, hãy đảm bảo kiểm tra nó tốt.
EDIT:
HHVM (mới phiên bản VM của HPHP) có thể bây giờ eval
và create_function
. Họ nên là như nhau cho tất cả/lý do có ý nghĩa nhất.
Có một vài điều không tương thích với HipHop. Họ đã xóa các hàm
eval
và
create_function
. Họ cũng chỉ hỗ trợ PHP 5.2.x cho bây giờ, nhưng họ có kế hoạch để thêm hỗ trợ cho 5.3 "sớm".
Nguồn
2010-03-18 23:57:17
Cảm ơn bạn đã trả lời thông tin này. Bạn có thể vui lòng xem xét câu hỏi trên máy ảo HipHop- http://stackoverflow.com/questions/8697348/facebook-hiphop-virtual-machine-for-php Cảm ơn –