Làm cách nào để viết PHP opcode, lưu nó vào một tệp và làm cho Công cụ Zend thực thi nó? Bất kỳ phương pháp hoặc hack được chào đón, miễn là nó làm các trick.Viết mã opcode PHP và thực thi nó. Làm thế nào để làm gì?
Trả lời
Có một vài phương pháp không gian người dùng (từ plugin) có thể xử lý Opcodes.
- http://uk.php.net/apc_bin_load (và http://uk.php.net/apc_bin_dump)
- http://uk.php.net/bcompiler_read/http://uk.php.net/bcompiler_write_file
Cả sản xuất văn bản đơn giản tuy nhiên vì opcodes không được thiết kế để trở thành một ngôn ngữ sử dụng có thể ghi (không giống như Parrot).
điều đó có nghĩa là tôi có thể ghi đè lên một tệp được lưu trong bộ nhớ cache bằng apc_bin_load, tôi đoán ... vậy câu hỏi tiếp theo sẽ là cách các câu lệnh opcode trông đẹp mắt liên quan đến biểu diễn nhị phân thực sự được sử dụng. bạn có biết gì về điều đó không? tài liệu tham khảo hay như vậy? – Raffael
http://stackoverflow.com/questions/1795425/how-to-get-opcodes-of-php có một số thông tin, chủ yếu đề cập đến "Vulcan Logic Dumper" - http://pecl.php.net/package/vld –
Có một tiện ích mở rộng được gọi là ulopcodes cho phép bạn phát ra các mã opcode của riêng bạn thông qua chức năng mà nó hiển thị với mã PHP.
Ví dụ:
ulopcodes_emit(ZEND_ECHO, "Hello world!");
sẽ tạo dòng trong oparray hiện tại mà sẽ được thực hiện bởi các máy ảo.
Phần mở rộng này hoàn toàn là giáo dục và không có ý định sử dụng trong mã sản xuất.
(Disclaimer: Tôi là tác giả của ulopcodes)
có bất kỳ tiện ích mở rộng nào để xuất mã opcode không? – kodmanyagha
Có, bạn có thể sử dụng [vld] (https://github.com/derickr/vld) ví dụ để xuất ra các opcodes được tạo ra. – pmmaga
- 1. PHP opcode liên quan đến mã nhị phân thực thi như thế nào?
- 2. Biên dịch mã PHP thành mã hóa và mã hóa được thực thi
- 3. Làm thế nào để thực thi mã C++ mà không biên dịch nó?
- 4. Làm thế nào để thực thi mã PHP từ dòng lệnh?
- 5. Làm thế nào để phát ra và thực thi mã Java bytecode khi chạy?
- 6. Làm cách nào để thực thi mã có trong chuỗi?
- 7. Làm thế nào để mở textfile và viết cho nó chắp thêm phong cách với php?
- 8. Ký tự này là gì (Â) và làm thế nào để loại bỏ nó bằng PHP?
- 9. Làm thế nào để tạo một phar thực thi?
- 10. Làm thế nào để viết một chương trình trong C++ sao cho nó sẽ tự xóa sau khi thực thi?
- 11. Thực thi mã php bằng Python
- 12. Làm thế nào để thực thi tệp sql từ java
- 13. Làm thế nào để tham chiếu một hàm từ bên trong thực thi của chính nó?
- 14. Làm thế nào để thực thi yêu cầu web theo chủ đề của riêng nó?
- 15. PHP: Bạn sử dụng cái gì để viết nó?
- 16. Viết một file PHP để đọc từ CSV và thực thi SQL Query
- 17. Làm thế nào để bộ tiền xử lý C thực thi mã trong khi biên dịch?
- 18. Làm cách nào để lấy mã c để thực thi mã byte hex?
- 19. Làm thế nào để viết mã này C# trong F #
- 20. Làm thế nào để thực thi tệp Clojure?
- 21. "Ném" làm gì và nó hữu ích như thế nào?
- 22. Làm thế nào để viết một wrapper trên chức năng và chức năng thành viên thực thi một số mã trước và sau khi các chức năng bọc?
- 23. Một vùng tên là gì và nó được thực hiện như thế nào trong PHP?
- 24. Expression.Bind() - nó thực sự làm gì?
- 25. Làm thế nào để bạn đặt MOTW trên thực thi
- 26. Làm thế nào để ngăn chặn các plugin thực thi mã độc hại
- 27. C# Làm thế nào để thực thi mã sau khi xây dựng đối tượng (postconstruction)
- 28. Tốc độ thực thi mã: ASP.NET-MVC so với PHP
- 29. LSA - Phân tích ngữ nghĩa tiềm ẩn - Làm thế nào để mã hóa nó trong PHP?
- 30. Làm cách nào để xen kẽ mã opcode lắp ráp x86_64 này?
opcode là gì? – abcde123483
cố gắng google nó :) – Raffael