About The PH7 Engine
is a in-process software library that implements a highly-efficient
bytecode compiler and a virtual machine for the PHP programming
language. In other words, PH7 is a PHP engine which allow the host
compile and execute PHP scripts in-process. PH7 is to PHP what SQLite
is to SQL.
PH7 implements most of the constructs introduced by the PHP 5.3 release such as heredoc, nowdoc, gotos, classes, anonymous functions, closures and so on and introduces very powerful extensions to the PHP programming language such as:
Refer to the feature page for a detailed description.
PH7 is the ideal library for enhancing your application (i.e: SCM, Server, CMS, Control panel, Search engine, etc.) or device (i.e: router, set-top box, etc.) with dynamic web interfaces, with all benefits and power of the PHP(5) programming language without the overhead uncured by the insecure CGI mechanism and it's high costs such as process creation (fork(), exec()) since PH7 run in-process.
As an embedded interpreter, it allows multiple interpreter states to coexist in the same program, without any interference between them. Programmatically, foreign functions in C can be added and values can be defined in the PHP environment. Being a quite small program, it is easy to comprehend, get to grips with, and use.
PH7 is 100% hand-coded, written in ANSI C, compiles unmodified and should run in any platform including restricted embedded device with a C compiler.
PH7 is extensively tested on Windows and UNIX systems especially Linux, FreeBSD, Oracle Solaris and Mac OS X.
PH7 is a compact library. With all features enabled, the library size can be less than 600KiB, depending on compiler optimization settings. (Some compiler optimizations such as aggressive function inlining and loop unrolling can cause the object code to be much larger.) If optional features are omitted, the size of the PH7 library can be reduced below 220KiB. PH7 can also be made to run in very little heap (2MB), making PH7 a popular PHP engine choice on memory constrained gadgets such as cellphones, tablets, numeric devices and so on.
PH7 is an open-source, dual-licensed product available free of charge for open-source projects under the term of the Symisc Public License (SPL) which is a GPL compatible license and is equivalent to the more popular Sleepycat license (An OSI approved license). See the licensing page for additional information.
Useful links to start with
|Download||Get a copy of the last public
release of the
PH7 engine, start embedding and enjoy
|Distinctive Features||This document enumerates and describes
some of the features and the
powerfull extensions introduced by the PH7 engine.
|Frequently Asked Questions||FAQ: The
title of the document says all...
|Copyright/Licensing||PH7 is dual-licensed and is available
free of charge for open source
projects. Find more on the licensing situation there.
|Online Community Support||Need some help, join the PH7 online community.|
PH7 Programming Interfaces
Documentation describing the APIs used to program PH7. Note that PH7 is very easy to learn, even for new programmer. Here is some useful links to start with:
|PH7 In 5 Minutes Or Less
||Gives a high-level overview on the how to embed the PH7 engine in a host application.|
|An Introduction To The PH7 C/C++ Interface||Gives an overview and roadmap to the C/C++ interface to PH7.|
|C/C++ API Reference Guide||This document describes each API function in details.|
|Foreign Function Implementation||Is a how-to guide on how to install C functions and invoke them from your PHP script.|
|Constant Expansion Mechanism||Is a how-to guide on how to install foreign constants and expand their values from your PHP script.|