kalpz Posted July 9, 2009 Report Share Posted July 9, 2009 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. ThanksKalpz Quote ATOMIC Web Hosting 2007 - 2011 Shared Hosting - Reseller Hosting - Dedicated Servers - Virtual Private Servers (Request Dedicated/VPS Servers via E-mail) E-mail: sales@atomicwebhosting.com Website: http://www.atomicwebhosting.com/ Link to comment Share on other sites More sharing options...
Ric Posted July 9, 2009 Report Share Posted July 9, 2009 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 bestRic Quote Link to comment Share on other sites More sharing options...
kalpz Posted July 13, 2009 Author Report Share Posted July 13, 2009 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. ThanksKalpz Quote ATOMIC Web Hosting 2007 - 2011 Shared Hosting - Reseller Hosting - Dedicated Servers - Virtual Private Servers (Request Dedicated/VPS Servers via E-mail) E-mail: sales@atomicwebhosting.com Website: http://www.atomicwebhosting.com/ Link to comment Share on other sites More sharing options...
kalpz Posted July 25, 2009 Author Report Share Posted July 25, 2009 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 Quote ATOMIC Web Hosting 2007 - 2011 Shared Hosting - Reseller Hosting - Dedicated Servers - Virtual Private Servers (Request Dedicated/VPS Servers via E-mail) E-mail: sales@atomicwebhosting.com Website: http://www.atomicwebhosting.com/ Link to comment Share on other sites More sharing options...
Ric Posted July 26, 2009 Report Share Posted July 26, 2009 Hi KalpzThanks 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 bestRic Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.