Archived

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

help me in installation

Hi ,

I am very new to ICE and i want to integrate on our gaming site(http://egglad.com).I am using wampp server 2.0 (which contains php 5.2.5,mysql 5.0.45,apach 2.2.6 versions)

I am unable to run the demo code provided I ma getting the error
Call to undefined function Ice_loadProfile() in C:\wamp\www\campaign\IcePHP-3.2.1\demo\Ice\hello\hello.php on line 19.

I had done all the things what you had suggested in your fourms,
I had checked the php error log.It contains the following message

([24-Jan-2008 14:41:33] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.2.5/ext/IcePHP.so)

What is this IcePHp.so where should it be copied

It seems that i had problems in configuration in my php.ini file

can any one assist me please

Thanks and regards.
T.S.SUNILKUMAR

Comments

  • matthew
    matthew NL, Canada
    IcePHP.so is the PHP Ice extension and Ice for PHP won't run without it (and its dependencies). However, I'm confused as to what operating system you are using. .so is a UNIX shared library, however, your PATH indicates a Windows installation.

    Assuming you actually are using Windows then the PHP extension is contained in the VC6 installer. Once you've installed this on the hosting machine then please follow the directions in the README under the "Running the PHP demos" section. This should get your started!
  • how to configure for windows in my ini file

    hi ,

    I am using windows xp,php 5,apache 2 and when I had seen in the php.ini for the windows in the demos provided bu ICE we need to enable the extension ;extension = php_ice.dll.But That dll i did not found any where.If I enable it also how does it load



    Thanks and regards
    t.s.sunilkumar
  • matthew
    matthew NL, Canada
    If you cannot find the DLL then its highly likely that you didn't install the correct distribution. As I said the PHP extension is contained in the VC6 installer in the bin subdirectory.
  • problem with installation

    hi,

    I had downlaoded ice for c++ and found and Set the ICE_HOME environment variable to the location of your my installation using
    set ICE_HOME=C:\Ice-3.2.1-VC60

    Then I changed to IcePHP source directory as specified in the documentation.

    Then I Opened config\Make.rules.mak, review the comments, set my php home directory(C:\wamp\bin\php\php5.2.5)


    Then there started struggle.what is actually nmake (you told to start nmake).

    we need to install a c++ compiler in our system .I did not have that one.is that causing a problem.


    awaiting for the reply

    thanks and ragards,
    tantravahi

    please explain the next steps so that i can go further
  • matthew
    matthew NL, Canada
    There is no need to build this all yourself -- the PHP extension is available pre-built in the VC6 binary distribution which can be downloaded using the following URL: http://www.zeroc.com/download/Ice/3.2/Ice-3.2.1-VC60.msi
  • help me in installation

    hi

    I had downloaded the the PHP extension available pre-built in the VC6 binary distribution using the following URL:
    http://www.zeroc.com/download/Ice/3....3.2.1-VC60.msi.


    I had copied the php_ice.dll contained in the C:\Ice-3.2.1-VC60\bin(the directory where the ice for php version is installed) to C:\wamp\bin\php\php5.2.5\ext (where my default extensions of my php reside) and loaded the php_ice.dll module and I started my apache server and kept the ice.slice path to ice.slice=C:/wamp/www/IcePHP-3.2.1/demo/Ice/hello/Hello.ice in my php.ini and restarted my server


    But I am running the demo application this getting the error (Fatal error: Call to undefined function ice_loadProfile() in C:\wamp\www\IcePHP-3.2.1\demo\Ice\hello\hello.php on line 19 )

    please help me


    Thanks and regards,
    sunilkumar.
  • mes
    mes California
    The error message indicates that the IcePHP extension is not being loaded. There are several possible reasons for this:
    • The binary distribution was compiled against PHP 5.2.1, which was the most recent version at the time we released Ice 3.2.1. It's possible (although unlikely) that an incompatibility between the IcePHP DLL and your newer version of PHP is causing a problem.
    • The IcePHP DLL has dependencies on several other DLLs. The README file in the binary distribution lists all of them:
      bzip2.dll
      icecpp.exe
      ice32.dll
      iceutil32.dll
      msvcp60.dll
      msvcrt.dll
      slice32.dll
      stlport_vc646.dll
      These DLLs must be present in Apache's PATH, or they must reside in the same directory as php_ice.dll.
    • Verify that Apache has sufficient privileges to access the DLLs listed above.
    The README file in the distribution contains step-by-step instructions for installing IcePHP with Apache. I recommend that you not configure IcePHP to load any Slice definitions until you've verified that the extension is being loaded successfully.

    Take care,
    - Mark
  • matthew
    matthew NL, Canada
    That error indicates that the Ice extension was not loaded by PHP for one reason or another. Possible reasons:

    - The location where you placed the Ice extension is not the correct PHP extension location.
    - You failed to copy the Ice extension dependencies to a location in the web servers search path.

    The following is the installation notes from the PHP specific distribution file INSTALL:

    PHP will need to be able to locate the Ice run-time libraries "Ice",
    "Slice", "IceUtil" and "bzip2" (Windows) or "libbz2" (Unix). In
    general, these libraries must reside in a directory of the user's
    PATH.

    For Web servers, the libraries may need to reside in a system
    directory. For example, on Linux you can add the directory containing
    the Ice run-time libraries to /etc/ld.so.conf and run ldconfig. On
    Windows, you can copy the DLLs to the C:\WINDOWS\system32 directory,
    or to the Apache installation directory.

    You can verify that the Ice extension is installed properly by
    examining the output of the "php -m" command, or by calling the
    phpinfo() function from a script.

    Note that if you want to use IceSSL from the Ice extension, then PHP
    will also need access to the shared libraries for IceSSL and OpenSSL.

    Finally, the Ice extension will need to execute the Ice preprocessor
    (icecpp), therefore this binary must reside in an accessible directory.



    Please follow this advice and see if that helps!