Skip to content

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Fix compilation issues for PHP 5.5 #82

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Nov 26, 2013

See #60

@Nicolab
Copy link

Nicolab commented Nov 26, 2013

You are great ! 👍

@geraldcroes
Copy link
Member

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.

@ghost
Copy link
Author

ghost commented Nov 26, 2013

I am working on that.

@geraldcroes
Copy link
Member

That's some very good news !

@vkartaviy
Copy link

👍

@shouze
Copy link

shouze commented May 16, 2014

ping @geraldcroes @ghost is now a deleted user so not working anymore on that?

@shouze
Copy link

shouze commented May 18, 2014

ping @geraldcroes & @juliens from wich 5.5 branch we can start to try to bring full php5.5 support?
I've also seen http://www.php-cpp.com/

@juliens
Copy link
Member

juliens commented May 25, 2014

@shouze I think, the best is to start from the current master branch, all the others are only failed tests

@shouze
Copy link

shouze commented May 26, 2014

@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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants