Jump to content
The Uniform Server Community
Sign in to follow this  
kalpz

[Solved] PHP Ice Help

Recommended Posts

Hey all, I have been working on getting this PHP Ice compiled into PHP and I have it working, but not in the way I would like it.

 

PHP Ice requires about 8 .dll files. One is: php_ice.dll which I put into PHP extensions folder.

 

The other .dll files I had to put into %SYSTEM32% folder. I was hoping to put these local to other extension .dll files but if I do that, I get a error saying this .dll could not be loaded. As soon as I put these files in %SYSTEM32%, it loads and I can use my script.

 

What can I do to make these .dll files run from PHP local directory? I want to be able to transport my configuration from PC to PC without putting files in Windows Core Directories.

 

I tried to register the .dll files using CMD Regsvr32.exe, that didn't work.

 

Thanks

Kalpz

Share this post


Link to post
Share on other sites

This is a long shot, just wondering if it’s an issue with the order the dll’s are loaded!

Remove the 8 dll’s from the system and any php.ini directives, start with only php_ice.dll run the servers. Hopefully the reported error is the name of the first dll it cannot load.

 

If so, add the dll to the extensions folder and add an appreciate directive in the php.ini file. Place this directive above the php_ice.dll directive save and run servers. The dll may load if not place the directive below php_ice.dll. If that fails its not a loading order issue and I have no more suggestions.

 

However if it loads the next error should be the next dll it cannot find and so on.

 

Like I said it’s a long shot and you have nothing to loose.

 

All the best

Ric :)

Share this post


Link to post
Share on other sites

Thanks for your reply. I got it going!! Your suggestions didn't really work Ric.

 

I had to put php_ice.dll in php/extensions folder and the other 7 dll files in apache2/bin folder.

 

I loaded all files in php.ini which worked.

 

Thanks

Kalpz

Share this post


Link to post
Share on other sites

I loaded all files in php.ini which worked.

 

Actually, to clean this up, loading all dll files in php.ini file did not work! I recently found the errors in the logs.

 

So all I had to do was load the php_ice.dll file only. The other dependant dll files went into apache/bin folder.

 

SOLVED!

 

- Kalpz

Share this post


Link to post
Share on other sites

Hi Kalpz

Thanks for the feedback it certainly will help others.

 

A solution always looks obvious after the event. Apache always looks in its bin folder to find dlls, if it fails looks along the system paths before giving up. The solution should have been obvious from this “The other .dll files I had to put into %SYSTEM32% folder.” I missed it. PHP is loaded as an ASAPI module and php_ice.dll is loaded as a PHP extension this effectively becomes a tight binding to Apache. Apache checks for dependences, sees there are several for php ice, before swanning off along the system paths attempts to resolve them locally.

 

Reason for giving detailed information it’s important for portability. When installing third party software if the installation says these dlls must be placed in a system folder, for portability they probably should be placed in Apache bin. A case in point is SVN.

 

Anyway I digress and congratulations on successfully compiling that’s a task in its own right. :)

 

All the best

Ric :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...