Archived

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

[icePHP] strange behaviour

Hi,


I just encountered a strange behaviour in setting up a (windows) webserver with icePHP.

Let me first layout what I use:
Development-system: VS .NET 2003 (+ ice 3.1.0 for 7.0)
Deployment-system: Nothing but an apache and php configured into it.

The apache server is 2.0.59, php version is 5.1.4 (same as on the development machine). The php is configured into the apacheserver via the "LoadModule php5_module "C:/PHP/php5apache2.dll""-way.

I added the PHP-path to the system variables. In this directory I added all the needed files (from the readme) from the ICE-3.1.0-VC60 + the stlport from the ThirdParty .msi's. the php_ice.dll I put into the extensions dir.

inside the php.ini, i load the ice-plugin as well as setting the 'ice.slice' (I checked for caps) to '-I/release/slice /release/slice/file1.ice /release/slice/file2.ice'.

Now the weird behaviour...

If I just go to a commandprompt and do:
php -r "ice_loadprofile(); ice_dumpprofile();"'
it shows a bunch of php-classes and stuff... All correct I have to say (no wrong generations or whatever).

Now when I surf to 'localhost/index.php' (containing also those commands), the only thing I get is:
Ice profile: __default__

Ice configuration properties: <none>

PHP code for Slice types:

class Ice_Identity
{
public $category;
public $name;
}
class Ice_EndpointSelectionType
{
const Random = 0;
const Ordered = 1;
}

This looks to me like the default generated ICE-base for the php-plugin...

My question here is where my test1/2.ice interfaces disappeared to?

Comments

  • mes
    mes California
    Hi,

    It looks like IcePHP was unable to successfully load your Slice files. Did you check the Apache logs for error messages? This typically occurs when IcePHP cannot run icecpp.exe successfully, or when it does not have sufficient privileges (while running as the Apache process) to access your Slice files.

    Hope that helps,
    - Mark
  • Hi Mark,

    The apache logs doesn't show any error. Even not when I turn the debuglevel from both PHP and apache to 'debug'-level. And when I start the apache process from the command prompt, 2 command windows quickly pop up, with the first one containing a lot of source. I managed to stop it, and it's the output from the icecpp-file.

    Permissions I don't think is the problem as it's a development machine and I am running everything like Administrator.

    Do you have any idea why this is happening? Ice 3.0.1 works without a problem...
  • mes
    mes California
    Hi,

    Is it possible that IcePHP is using the VC7 version of the Ice run time? I've seen some erratic behavior when the incorrect run time library is used.

    - Mark
  • Well, that was my thinking too... But I ruled that out... My setup is like this:

    1) the files from the Ice-3.1.0-VC60\bin directory are located in the PHP-directory.
    2) the php_ice.dll goes into the ext-directory.
    3) The (system wide) path variable has been added the php-directory into.

    4) The server.exe-directory have the files from the Ice-3.1.0-directory (VC71), and inside this directory there is a dir called 'slice' where the ice-files resides. None of this directories are inside the path-variable.

    As far as I can guess they take the correct dll's.

    Running filemon I can see it tries a lot of directories finally ending up with the php-directory where it finds icecpp.exe and other dll's...

    In a previous post I already got answered that ice for php only is included with the VC60 release because the newer ones are not supported... That's also why I took the files from the VC60 release-msi, and not the VC71...


    Do you have any other options I could investigate?


    Thanks