WOULD SOMEONE PLEASE EDIT THE PREVIOUS POSTS SO THIS ISN'T FOUR PAGES WIDE????
Anyway the best means I have found of obfuscating interpreted code is this, and you can write a php program to do this pretty easily:
Pass 1: Crawl through a directory structure starting at a root directory and catalog all of the files ending with the specified extensions (.php,.ph3,etc)
Pass 2: Catalog all of the function names, class names & variable names. Be sure you maintain heirarchy while doing this. So if you have three functions named get_id that are in different classes you know which get id belongs to which class.
Intermediate step: take the md5 of every function, class and variable name.
Pass 3: Remove all white space, line returns & comments from the specified files.
Pass 4: (the only hard part) replace all variable names, function names, class names, function calls & class instantiations with thei md5 string instead of their original name.
This will make the code unreadable and since md5 is a one way hash it will not be easy to reverse engineer.
Sure someone can still copy and past your code verbatim but they will have a hell of a time attempting to modify it in any way.