IIS installation woes

jetdog's picture
Sorry mods if this is a repost of something already resolved. I've been having much trouble getting WS02 installed on my IIS/PHP dev machine. I have followed the instructions here: http://wso2.org/library/3465 When I run php -m I get wsf in the list of modules. However, phpinfo() insists that the module isn't loaded (see below). I have gone through all the dependencies I am aware of to ensure they are current, but it is very possible I have missed something. The WS02 *appears* to be loading as I am finding logs in the log file location. Here are my php.ini, ws02 server log, and results of phpinfo(). Thanks so much! ws_php_server.log: [Sat Oct 25 12:11:46 2008] [debug] wsf.c(236) wsf version - 2.0.0 [Sat Oct 25 12:11:46 2008] [debug] wsf.c(237) php version - 5.2.6 [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\conf_builder.c(233) No custom dispatching order found. Continue with the default dispatching order [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\conf_builder.c(378) Module addressing found in axis2.xml [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/lib/axis2_http_sender.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/lib/axis2_http_sender.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/lib/axis2_http_receiver.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/lib/axis2_http_receiver.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [info] No files in the path C:\Program Files\PHP\wsf_c/services. [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : C:\Program Files\PHP\wsf_c/modules/addressing/axis2_mod_addr.dll [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/modules/addressing/axis2_mod_addr.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : C:\Program Files\PHP\wsf_c/modules/rahas/mod_rahas.dll [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/modules/rahas/mod_rahas.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : C:\Program Files\PHP\wsf_c/modules/rampart/mod_rampart.dll [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/modules/rampart/mod_rampart.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\module_builder.c(447) mep_url:http://www.w3.org/2004/08/wsdl/in-only [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/AckRequested [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/SequenceAcknowledgement [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequenceResponse [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/AckRequested [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\module_builder.c(447) mep_url:http://www.w3.org/2004/08/wsdl/in-out [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/TerminateSequence [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequence [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequenceResponse [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsrm/200702/TerminateSequenceResponse [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\desc_builder.c(777) Input action mapping found http://docs.oasis-open.org/ws-rx/wsmc/200702/MakeConnection [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : C:\Program Files\PHP\wsf_c/modules/sandesha2/sandesha2.dll [Sat Oct 25 12:11:46 2008] [debug] ..\..\util\src\class_loader.c(140) C:\Program Files\PHP\wsf_c/modules/sandesha2/sandesha2.dll shared lib loaded successfully [Sat Oct 25 12:11:46 2008] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingInHandler to phase Transport [Sat Oct 25 12:11:46 2008] [info] [rampart][rampart_mod] rampart_mod initialized [Sat Oct 25 12:11:46 2008] [info] [rahas]Rahas module initialized [Sat Oct 25 12:11:46 2008] [debug] wsf_worker.c(161) [WSF/PHP] rm_db_dir C:\Windows\temp/sandesha2_db php.ini: [PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; This file controls many aspects of PHP's behavior. In order for PHP to ; read it, it must be named 'php.ini'. PHP looks for it in the current ; working directory, in the path designated by the environment variable ; PHPRC, and in the path that was defined in compile time (in that order). ; Under Windows, the compile-time path is the Windows directory. The ; path in which the php.ini file is looked for can be overridden using ; the -c argument in command line mode. ; ; The syntax of the file is extremely simple. Whitespace and Lines ; beginning with a semicolon are silently ignored (as you probably guessed). ; Section headers (e.g. [Foo]) are also silently ignored, even though ; they might mean something in the future. ; ; Directives are specified using the following syntax: ; directive = value ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. ; ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). ; ; Expressions in the INI file are limited to bitwise operators and parentheses: ; | bitwise OR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; ; Boolean flags can be turned on using the values 1, On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: ; ; foo = ; sets foo to an empty string ; foo = none ; sets foo to an empty string ; foo = "none" ; sets foo to the string 'none' ; ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), ; you may only use these constants *after* the line that loads the extension. ; ; ;;;;;;;;;;;;;;;;;;; ; About this file ; ;;;;;;;;;;;;;;;;;;; ; This is the recommended, PHP 5-style version of the php.ini-dist file. It ; sets some non standard settings, that make PHP more efficient, more secure, ; and encourage cleaner coding. ; ; The price is that with these settings, PHP may be incompatible with some ; applications, and sometimes, more difficult to develop with. Using this ; file is warmly recommended for production sites. As all of the changes from ; the standard settings are thoroughly documented, you can go over each one, ; and decide whether you want to use it or not. ; ; For general information about the php.ini file, please consult the php.ini-dist ; file, included in your PHP distribution. ; ; This file is different from the php.ini-dist file in the fact that it features ; different values for several directives, in order to improve performance, while ; possibly breaking compatibility with the standard out-of-the-box behavior of ; PHP. Please make sure you read what's different, and modify your scripts ; accordingly, if you decide to use this file instead. ; ; - register_long_arrays = Off [Performance] ; Disables registration of the older (and deprecated) long predefined array ; variables ($HTTP_*_VARS). Instead, use the superglobals that were ; introduced in PHP 4.1.0 ; - display_errors = Off [Security] ; With this directive set to off, errors that occur during the execution of ; scripts will no longer be displayed as a part of the script output, and thus, ; will no longer be exposed to remote users. With some errors, the error message ; content may expose information about your script, web server, or database ; server that may be exploitable for hacking. Production sites should have this ; directive set to off. ; - log_errors = On [Security] ; This directive complements the above one. Any errors that occur during the ; execution of your script will be logged (typically, to your server's error log, ; but can be configured in several ways). Along with setting display_errors to off, ; this setup gives you the ability to fully understand what may have gone wrong, ; without exposing any sensitive information to remote users. ; - output_buffering = 4096 [Performance] ; Set a 4KB output buffer. Enabling output buffering typically results in less ; writes, and sometimes less packets sent on the wire, which can often lead to ; better performance. The gain this directive actually yields greatly depends ; on which Web server you're working with, and what kind of scripts you're using. ; - register_argc_argv = Off [Performance] ; Disables registration of the somewhat redundant $argv and $argc global ; variables. ; - magic_quotes_gpc = Off [Performance] ; Input data is no longer escaped with slashes so that it can be sent into ; SQL databases without further manipulation. Instead, you should use the ; function addslashes() on each input element you wish to send to a database. ; - variables_order = "GPCS" [Performance] ; The environment variables are not hashed into the $_ENV. To access ; environment variables, you can use getenv() instead. ; - error_reporting = E_ALL [Code Cleanliness, Security(?)] ; By default, PHP suppresses errors of type E_NOTICE. These error messages ; are emitted for non-critical errors, but that could be a symptom of a bigger ; problem. Most notably, this will cause error messages about the use ; of uninitialized variables to be displayed. ; - allow_call_time_pass_reference = Off [Code cleanliness] ; It's not possible to decide to force a variable to be passed by reference ; when calling a function. The PHP 4 style to do this is by making the ; function require the relevant argument by reference. ; - short_open_tag = Off [Portability] ; Using short tags is discouraged when developing code meant for redistribution ; since short tags may not be supported on the target server. ;;;;;;;;;;;;;;;;;;;; ; Language Options ; ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. engine = On ; Enable compatibility mode with Zend Engine 1 (PHP 4.x) zend.ze1_compatibility_mode = Off ; Allow the <? tag. Otherwise, only <?php and
nandika's picture

Re: IIS installation

Have you added wsf_c/lib directory and other depencencies like libxml to path System variable ?

If it is there in the user path variable, it wont get loaded. Also have a look the php error log file. That can give you an indication of what is going wrong.

-- Nandika

jetdog's picture

Thanks - more info

Thanks for the speedy response!

I've added the wsf_c/lib and libxml directories to the path as per the instructions. They are in the system path, not the user path.

I have found this, however. I can run the echo_client.php example from the php command-line and I get this response:
Message = Error , NO Response Received

When I run it from a website I get this error:
Fatal error: Class 'WSClient' not found in C:\Inetpub\wwwroot\phpwebservices\echo_client.php on line 27

I have several other browser-based php apps that run on this machine just fine.

Any help is greatly appreciated!!

jetdog's picture

Alright, kids, I've fixed

Alright, kids, I've fixed it, yeahoo!

Here are some things I found:
- Using dependency walker I found that dwmapi.dll was missing. I downloaded it and put it in my PHP directory.
- Again, using dependency walker I found that an old version of libxml2.dll was being loaded from my windows directory. It didn't have some of the interfaces required by the wsf. I replaced this file with the version I had previously downloaded.

After a reboot everything is hunky dory. Cheers!

Hot Topic
Hot
Topic

Google Gadgets are a nice way to develop user interfaces for distributed services. The fact that they can be hosted anywhere over a network, not necessarily in the very portal server they eventually run in makes them re-usable and allows users to quickly...

Latest Webinar
In this webinar we'll share the range of concerns we've heard from the industry, and survey some of the new and sometimes subtle types of lock-in associated with cloud technologies.
Wednesday, 8 September, 10.00 AM (PDT)