หากคุณได้รับอนุญาตให้เรียกใช้ไบนารีเนทีฟจริงนี่คือคอมไพเลอร์ของคุณ:
https://github.com/ircmaxell/php-compiler
มันเป็นคอมไพเลอร์ PHP ที่เขียนด้วย PHP!
มันรวบรวมรหัส PHP เป็นรหัส VM ของตัวเอง รหัส VM นี้สามารถตีความได้โดยล่ามของตัวเอง (เขียนด้วยภาษา PHP ว่าไม่บ้าเหรอ?) หรือสามารถแปลเป็น Bitcode ได้ และด้วยการใช้เฟรมเวิร์กคอมไพเลอร์ LLVM ( clang
และ co) บิตโค้ดนี้สามารถรวบรวมเป็นไบนารีเนทีฟสำหรับแพลตฟอร์มใด ๆ ที่ LLVM รองรับ (ค่อนข้างแพลตฟอร์มใด ๆ ที่สำคัญในปัจจุบัน) คุณสามารถเลือกที่จะทำแบบคงที่หรือแต่ละครั้งก่อนที่รหัสจะถูกดำเนินการ (สไตล์ JIT) ดังนั้นข้อกำหนดสองข้อเท่านั้นสำหรับคอมไพเลอร์นี้ที่จะทำงานบนระบบของคุณคือล่าม PHP ที่ติดตั้งและclang
คอมไพเลอร์ที่ติดตั้ง
หากคุณไม่ได้รับอนุญาตให้รันไบนารีเนทีฟคุณสามารถใช้คอมไพเลอร์ด้านบนเป็นล่ามและปล่อยให้มันแปลรหัส VM ของตัวเอง แต่สิ่งนี้จะช้าลงเมื่อคุณใช้ล่าม PHP ที่ทำงานบนเอนจิน PHP ดังนั้น คุณมี "การตีความสองครั้ง"