cphalcon: Broken build with PHP 7.1

With 7.1.0beta1

/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c: In function 'zephir_get_called_class':
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4764:45: error: 'struct _zend_execute_data' has no member named 'called_scope'
  if (EG(current_execute_data)->called_scope) {
                                             ^
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4765:61: error: 'struct _zend_execute_data' has no member named 'called_scope'
   zend_string *ret = EG(current_execute_data)->called_scope->name;
                                                             ^
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4770:24: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c: In function 'zephir_read_property':
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5069:31: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5070:19: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
/builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5090:19: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
  EG(scope) = old_scope;
                   ^
...

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 9
  • Comments: 67 (47 by maintainers)

Most upvoted comments

On this way 🚧

+1

+1 for a fix, would like to go to 7.1

+1 Looking forward to this for Production use, too.

Since you asked for the big difference in the new PHP: It is the first version of PHP to have complete type support. PHP 7 introduced type hinting for scalar types and we need 7.1 to get the “void” keyword for the type hints. That would be the first time in PHP history that one would be able to annotate all the functions with correct type hints and eliminate a whole class of errors at once.

(Thanks for all your work on this, I have signed up to Patreon because of you guys)

EDIT: Also visibility modifiers for const.

Released

I can even confirm, phalcon 3.1.1 build without any issue using zephir 0.9.7.

So, added to the few extensions list I can provide as RPM in my repo (for Fedora / RHEL and CentOS).

+1 for a fix, would like to go to 7.1

Yes. Just stay at php 7 until this is fixed.

It’s theoritcally fixed here - https://github.com/phalcon/cphalcon/pull/12747 on build using latest zephir

Though it could be nice if someone with big test suite in their application could test it before we release it:

// install php 7.1 and 7.1-dev
git clone https://github.com/phalcon/zephir
cd zephir
./install -c
cd ..
git clone https://github.com/phalcon/cphalcon
cd cphalcon
git checkout 3.1.x
zephir build
// run your tests

When 3.1.2 will be released you won’t need zephir to install it.

I’m used to rebuild from tagged sources, using zephir, at least because I need to patch sources to drop the damned fucking non-free part (2 years old bug #10118)

+1 for a fix, would like to go to 7.1

thank you boys!

Fixed in the 3.1.x branch. Note: You have to use latest Zephir from master branch

It will be really soon i think.

+1

@sergeyklay I’ll be happy to contribute. But can I trade stickers and privileges for implementing a feature that I need most?