Archived

This forum has been archived. Please start a new discussion on GitHub.

PHP 7 Support

Hi,

Are there any plans to support PHP7 in the future?

Cheers
Chris


Tags: None


Comments

  • joegeorge
    joegeorge Jupiter, Florida
    Hi Chris,

    We plan on supporting PHP 7 in the next release of Ice.

    Cheers,
    Joe
  • joegeorge
    joegeorge Jupiter, Florida
    Hi Chris,

    We've ported Ice to PHP 7. You can try it from our master branch on GitHub: https://github.com/zeroc-ice/ice.

    Cheers,
    Joe
  • Hi,

    We're looking into the usability of this feature for our next software release. Ubuntu 16.04 LTS is about to become stable, and as of now, they're including PHP7 as the default php version.
    Trying to compile the php7 sources using the latest master commit, we run into these compilation errors:
    Communicator.cpp: In function 'void zif_Ice_identityToString(zend_execute_data*, zval*)':
    Communicator.cpp:1377:22: error: '_this' was not declared in this scope
             string str = _this->getCommunicator()->identityToString(id);
                          ^
    Communicator.cpp: In function 'void zif_Ice_stringToIdentity(zend_execute_data*, zval*)':
    Communicator.cpp:1399:28: error: '_this' was not declared in this scope
             Ice::Identity id = _this->getCommunicator()->stringToIdentity(s);
    

    Anything you can suggest us?

    Thanks,
    Nathan
  • joegeorge
    joegeorge Jupiter, Florida
    Hi,

    I've pushed a fix for this to the master branch on GitHub.

    https://github.com/zeroc-ice/ice/commit/eba3560803a0fa0f50cbb5851d7a01b88a316ef5

    Cheers,
    Joe
  • Thanks, the patch is working and I've successfully tested the module on Ubuntu Xenial.

    One minor issue: the package "bc" is needed for the Makefile to determine the php version, but I haven't seen it in the Debian control file (from your packaging repo).

    Hope to see the official ICE 3.7 packages released soon!
  • Thanks for update Joe. Testing with PHP7 atm. :)
  • what about Centos7? I have noticed for Centos 7 you are still on 5.4 which has been deprecated.

    Red Hat Enterprise Linux 7 PHP 5.4 per page: https://doc.zeroc.com/display/Ice36/Supported+Platforms+for+Ice+3.6.2

    I feel this should at least be upgrade to php 5.6.

    Thank you
  • Hi, we are seeing this error when an ICE exception is being printed.
    This is using the latest master release (c342686092fb0112224fbd1344af2752a20a1b81) on PHP 7.0.4-7ubuntu2.1, Ubuntu 16.04.

    "Method Ice_NoEndpointException::__toString() must not throw an exception, caught InvalidArgumentException: expected string value but received unknown in ..."

  • joegeorge
    joegeorge Jupiter, Florida

    Thanks for reporting this @nathanbnl.

    I've committed a fix for this on master (b7ab473826d65e5acfad9cb161c3b00782b67b03). Please let me know if this solves your problem.

  • @joegeorge just tested using that commit, however still seeing the same error message

  • joegeorge
    joegeorge Jupiter, Florida
    edited May 2016

    Can you provide some test code? Also, did you rebuild the C++ extension after updating?

  • Yes, I had performed a complete rebuild, and the error was still showing.
    However, have just tested the latest master and this seems to be fixed.

    I guess 0df866715f168e512078df094a59b45bf21c4d39 has done the job.

    Thanks!