Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

24 lines (17 sloc) 1.172 kB
<h2>Inconsistencies between HipHop compiler and interpreter</h2>
These are the known inconsistencies between running a compiled program and
running it through hphpi interpreter.
1. class_exists($clsname) may give different results. This is because compiled
version has all classes declared by default, unless it is marked as "volatile",
either by a configuration file, or automatically by the compiler recognizing
a class name literal is used as in, for example, class_exists('MyClass').
2. get_defined_vars() may return different members, as hphpi prepares the list
by collecting variables that are declared so far, versus compiled version
always include all variables visible to the scope.
3. Compiled version cannot give "undefined variable" notices.
4. Some of the syntax errors that are reported by hphpi will be compiled just
fine without any warnings. For examples, repeating same modifiers for a class
or its method or property: "public private function foo() {}".
5. Some of the coding errors that are reported by hphpi will be compiled into
runtime errors or swallowed if PHP does the same. For examples, calling a
function with wrong number of arguments.
Jump to Line
Something went wrong with that request. Please try again.