Archived

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

Problems with loading IcePHP module

Hi,

I'm getting this when I run a php -m from the command line in linux.

PHP Warning: PHP Startup: ice: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0

Running CentOS 5.1 x86_64 with cPanel.
PHP version 5.2.8
ICE version 3.3.0

Any help is gladly appreciated, as I've no idea where to go from here. Do I need to build from source ICE? Or PHP? Hopefully not the latter as cPanel won't like that.

Comments

  • mes
    mes California
    Hi Ben,

    Welcome to the forum.

    I'm guessing you installed the Ice for PHP RPM (which was built against PHP 5.1.x) and are trying to use it with PHP 5.2.8.

    You'll need to build a new version of the PHP extension using PHP 5.2.8. Follow these steps:
    • Download the Ice 3.3.0 source distribution and extract it.
    • Install the mcpp RPM.
    • $ cd Ice-3.3.0/cpp/src
    • $ make
    • $ cd ../../php
    • Review config/Make.rules (e.g., you may want to change PHP_HOME)
    • $ make
    • Copy lib/IcePHP.so to the desired destination
    If you like, you can stop the build in Ice-3.3.0/cpp/src after it has finished building libIce.so. Also, there's no need to install the version of Ice for C++ that you just compiled; you can simply copy IcePHP.so and use it with the RPM installation of the Ice libraries.

    Regards,
    Mark
  • Thank you very much. This worked perfectly :)
  • mes wrote: »
    Hi Ben,

    Welcome to the forum.

    I'm guessing you installed the Ice for PHP RPM (which was built against PHP 5.1.x) and are trying to use it with PHP 5.2.8.

    You'll need to build a new version of the PHP extension using PHP 5.2.8. Follow these steps:
    • Download the Ice 3.3.0 source distribution and extract it.
    • Install the mcpp RPM.
    • $ cd Ice-3.3.0/cpp/src
    • $ make
    • $ cd ../../php
    • Review config/Make.rules (e.g., you may want to change PHP_HOME)
    • $ make
    • Copy lib/IcePHP.so to the desired destination
    If you like, you can stop the build in Ice-3.3.0/cpp/src after it has finished building libIce.so. Also, there's no need to install the version of Ice for C++ that you just compiled; you can simply copy IcePHP.so and use it with the RPM installation of the Ice libraries.

    Regards,
    Mark

    Hello....I have Centos 5.3, and my first make is ok, but in my 2 make I dont know how to change PHP_HOME. I was run the next command:

    locate php |less :

    /usr/bin/php
    /usr/bin/php-cgi
    /usr/lib64/php
    /usr/lib64/httpd/modules/libphp5.so
    /usr/lib64/php/modules
    /usr/lib64/php/modules-zts
    /usr/lib64/php/pear
    /usr/lib64/php/modules/IcePHP.so
    /usr/lib64/php/modules/curl.so
    /usr/lib64/php/modules/fileinfo.so
    /usr/lib64/php/modules/json.so
    /usr/lib64/php/modules/mysql.so
    /usr/lib64/php/modules/mysqli.so
    /usr/lib64/php/modules/pdo.so
    /usr/lib64/php/modules/pdo_mysql.so
    /usr/lib64/php/modules/pdo_sqlite.so
    /usr/lib64/php/modules/phar.so

    So, my PHP_HOME ?=/opt/var changed for ?=/usr/lib64/php <----this is correct???

    Thanks.
  • When I try to compile with make I get:

    Preprocessor.cpp: In member function ‘bool Slice::Preprocessor::close()’:
    Preprocessor.cpp:469:32: error: ‘unlink’ was not declared in this scope
    unlink(_cppFile.c_str());
    ^
    make[1]: *** [Preprocessor.o] Error 1

  • joegeorge
    joegeorge Jupiter, Florida

    Hi @fbartolom, please open a new discussion for your issue.