PHP 7 Support

chrisgchrisg Member Chris GordonOrganization: LevauxProject: Autonomous building management agents
Hi,

Are there any plans to support PHP7 in the future?

Cheers
Chris


Tags: None


Comments

  • joegeorgejoegeorge Jupiter, FloridaAdministrators, ZeroC Staff Joe GeorgeOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi Chris,

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

    Cheers,
    Joe
  • joegeorgejoegeorge Jupiter, FloridaAdministrators, ZeroC Staff Joe GeorgeOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
  • nathanbnlnathanbnl Member Nathan DeveloperOrganization: IPerityProject: telephony services
    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
  • joegeorgejoegeorge Jupiter, FloridaAdministrators, ZeroC Staff Joe GeorgeOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi,

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

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

    Cheers,
    Joe
  • nathanbnlnathanbnl Member Nathan DeveloperOrganization: IPerityProject: telephony services
    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!
  • chrisgchrisg Member Chris GordonOrganization: LevauxProject: Autonomous building management agents
    Thanks for update Joe. Testing with PHP7 atm. :)
  • wowakanwowakan Member Richard BakerOrganization: RedTalkers LLCProject: American Indians
    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
  • nathanbnlnathanbnl Member Nathan DeveloperOrganization: IPerityProject: telephony services

    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 ..."

  • joegeorgejoegeorge Jupiter, FloridaAdministrators, ZeroC Staff Joe GeorgeOrganization: ZeroC, Inc.Project: Ice ZeroC Staff

    Thanks for reporting this @nathanbnl.

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

  • nathanbnlnathanbnl Member Nathan DeveloperOrganization: IPerityProject: telephony services

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

  • joegeorgejoegeorge Jupiter, FloridaAdministrators, ZeroC Staff Joe GeorgeOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    edited May 2016

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

  • nathanbnlnathanbnl Member Nathan DeveloperOrganization: IPerityProject: telephony services

    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!

Sign In or Register to comment.