Page 1 of 1

PHP hidden optimizing or caching?

PostPosted: 28. February 2015 11:32
by Aaex
Hello, We are using XAMPP 1.7.7 on Linux which comes with a precompiled release of PHP 5.3.8. We also use a custom PHP binary extension. The extension works fine with standard version of PHP compiled from php.net sources but not with XAMPP and its precompiled version. The issue appears when we start using the op_array->reserved[] data structures of PHP bytecode. After doing some debugging with XAMPP PHP, we discovered that the reserved data fields are not available when the bytecode is executed by the XAMPP version of PHP, they all are zero. Also a pointer to op_array itself differs from the original pointer we get in our PHP extension. This makes us think that the precompiled version of PHP in XAMPP does some hidden manipulation to bytecode which may be caching, optimizing etc. While it's usually OK, this breaks bytecode data structures making some of the extensions to fail. It could be other extensions shipped with XAMPP, but we did not find any that could affect bytecode like APC, eaccelerator etc. It looks like something hidden is built-in? Having no access to XAMPP source we can't check that ourselves.

Can anyone who is familiar with XAMPP sources shed some light on that please?

(Sorry, this is a repost from the German thread. First time here on this forum and wasn't sure about the best thread to post the question)