-
Notifications
You must be signed in to change notification settings - Fork 95
Fix compilation issues for PHP 5.5 #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
You are great ! 👍 |
Well... the main problem is not compilation by itself, but the fact that it does not work in PHP 5.5 Your patch do resolve the compilation issue (as we did in the php_5_5* branches) but you also removed the whole hook on zend_execute (wich is the problem). If I launch the tests (make test), I can see that every tests related to method / function calls are failing (75 out of 128 tests). The only trouble left is to fix the "around" advices. Before and After are working as expected, but around are corrupting the execute_data. Actually, we did some mean things to the engine by rewriting our own zend_call_function.... and this may not be the best solution for compatibility with future revisions. Our main clue, as of today, is to call the actual zend_execute when the user is asking for the "process" on the joinpoint. To achieve that, we think we may have to free the current_execute_data and to create a new one from the op_array before the adviced method execution (and then to call the former method with zend_execute)... resulting in a "may be ok we have to test to be sure this is correct" execute_data. If you want to help further more, you really are welcome. |
I am working on that. |
That's some very good news ! |
👍 |
ping @geraldcroes @ghost is now a deleted user so not working anymore on that? |
ping @geraldcroes & @juliens from wich 5.5 branch we can start to try to bring full php5.5 support? |
@shouze I think, the best is to start from the current master branch, all the others are only failed tests |
@juliens indeed. We've investigated past week and we think it miss an intermediary pretty stable release from this commit reference: 4bafae6 @tyx have tagged & published a release apart here: https://github.com/rezzza/AOP/releases/tag/0.2.3 All the commits after that reference make the extension either unstable/failing a lot of test and/or leak a lot of memory. To make things short: we were unable to use it. Just about re2c: does the introduction of the lexer code is about performance or feature goals? |
See #60