phc logo


User and Developer Manual

  • User Manual
    • how to configure, compile, install, and test phc,
    • how to use phc's XML output, and phc's command line options.

  • Developers Manual
    • how to create plugins to analyse or manipulate PHP using phc,
    • how to modify phc's internals

Both the user and the developer manual are available in the same document. The latest version (0.3.0) is available to download (PDF or HTML) or online. We don't recommend any other version, though previous versions are archived.

Other Documentations


  • Writing a Reentrant Parser with Flex and Bison. Edsko de Vries.
    • Writing a Reentrant Parser with Flex and Bison explains by means of an example how to create a reentrant parser with Flex and Bison, and how to use more than one parser in one application.

  • Memory Layout for Multiple and Virtual Inheritance. Edsko de Vries.
    • Programmers wishing to enhance their knowledge of C++ might find Memory Layout for Multiple and Virtual Inheritance an interesting article. It explains the difficulties C++ compilers face when deciding the (runtime) layout for objects in the presence of multiple inheritance, and the consequences this has for programmers.

Research Papers using phc

  • Efficient Static Check of Tainted Variable Attacks. Rimsa, A., d'Amorim, M., and Pereira, F. Q. In SBLP 2010.
    • A paper describing a technique that finds tainted flow vulnerabilities. It uses this method, implemented on top of phc, to search for XSS attacks.