vjardin / bcgen

A bytecode generator (compiler) for PHP7
56 stars 19 forks source link

What about PHP 5.6? #8

Closed ss-17 closed 6 years ago

ss-17 commented 6 years ago

Hi there.

I see all usable PHP versions listed but not 5.6?

ss-17 commented 6 years ago

Test with PHP 5.5 also. Same error as 5.6:

/root/bcgen-PHP-7.2/Optimizer/zend_optimizer.h:82:2: error: unknown type name 'zend_string'

nanosonde commented 6 years ago

That was a mistake in the README. I just copied it from OPcache.

Only PHP-7.2 is supported for now. There are currently no plans to support earlier PHP versions as well. Supporting different PHP versions with their different internal data structures is really a hassle.

So if you distribute your BCGen compiled PHP files to protect you code, make sure that the user uses the correct PHP version that matches the BCgen version. In times of docker et al it should be a problem to achive this.

I assume that the above is also the reason why the bcompiler lost interest in supporting it for various versions. See the code with all its #ifdefs for different Zend engine versions and so on.

ghost commented 5 years ago

Test with PHP 5.5 also. Same error as 5.6:

/root/bcgen-PHP-7.2/Optimizer/zend_optimizer.h:82:2: error: unknown type name 'zend_string'

If it's still just a few troubles with 5.6, i'll check how to update/rewrite it for 5.6 correctly.