phc logo

Latest News (older news)

23 October 2011. phc version (ChangeLog) has been released. It fixes a packaging error in version 0.3.0.

20 September 2011. phc version 0.3.0 (ChangeLog) has been released.

22 September 2010. phc version is deprecated, do not use it. Use svn trunk instead.

21 September 2010. We have merged the dataflow branch into trunk, providing optimization to your compiled code. We are planning a release with this in the near future. Try svn trunk to test it out.

15 February 2009. phc version (ChangeLog) has been released. It resolved a packaging error in version which prevented phc from building if the PHP embed SAPI was not used. We also repackaged to fix the problem.

What is phc?

phc is an open source compiler for PHP with support for plugins. In addition, it can be used to pretty-print or obfuscate PHP code, as a framework for developing applications that process PHP scripts, or to convert PHP into XML and back, enabling processing of PHP scripts using XML tools.

phc for PHP programmers (See Manual):

  • Compile PHP source into an (optimized) executable (supports entire PHP standard library).
  • Compile a web application into an (optimized) extension (supports entire PHP standard library).
  • Pretty-print PHP code.
  • Obfuscate PHP code (--obfuscate flag - experimental).
  • Combine many php scripts into a single file (--include flag - experimental).
  • Optimize PHP code using classical compiler optimizations (in the dataflow branch - very experimental).

phc for tools developers (See Developers and Contributors):

  • Analyse, modify or refactor PHP scripts using C++ plugins.
  • Convert PHP into a well-defined XML format, process it with your own tools, and convert it back to PHP.
  • Operate on ASTs, simplified ASTs, or 3-address code.
  • Analyse or optimize PHP code using an SSA-based IR (in the dataflow branch - very experimental).

Recent project activity:

There were 0 commits in the last 7 days. Most recent:

r3420 | | 2013-07-28 13:35:12 | trunk

#150 fix: Problem when linking against php. Changed the library order of -lphp5 to the end of the gcc command line argument.

r3419 | | 2013-07-09 01:15:35 | trunk

Another attempt to fix issue 132. The root cause was php checks tainting global variable (LIBS) on configure script, which propagates to other checks like libboost, libpthreads an so on.

r3418 | | 2011-12-18 23:45:58 | trunk

Fix boost_regex detection (solves issue 132)

r3417 | | 2011-10-23 10:21:20 | www

Update the website for bugfix release

r3416 | | 2011-10-23 09:58:47 | trunk

Prepare for bugfix release

r3415 | paul.biggar | 2011-10-01 18:54:55 | trunk

Move m4 files from autoconf-archive into m4/.

r3414 | paul.biggar | 2011-10-01 18:22:19 | trunk

Rename bootstrap to the more standards-compliant "".