SniptoolsSniptools | Design & Technology Observations

RSS

Sablotron XSLT , PHP, Apache on Windows (and a basic XSLT tutorial)

May 27th 2003
137 Comments

Respond
Trackback

It is actually quite simple to get it working, but not adequately documented on the PHP website. Get straightforward, bullet point instructions here (installs PHP as a module which is in fact faster than running it as CGI).

It is actually quite simple to get it working, but not adequately documented on the PHP website. Get straightforward, bullet point instructions here (installs PHP as a module which is in fact faster than running it as CGI).

  1. Get the latest PHP package from http://qa.php.net/ and unzip it. It will automatically create a folder named PHP_version. (P.S. Novice users may want to skip this entirely and download PHP, MYSQL etc bundled as
    XAMPP from Apachefriends.org.
    )
  2. Please follow the instructions in the README to install
    Apache as a module (faster than running as CGI). This should include –

    1. Copying the latest PHP files into your C:\PHP or wherever you have your PHP installed,
    2. Putting your PHP.INI file in the right place, mine is in C:\WINDOWS (you must have only one valid INI file),
    3. Copying the php4ts.dll file from your downloaded PHP_version folder into C:\WINDOWS\SYSTEM32
  3. Copy all the *.dll files from your downloaded
    PHP_version\DLL folder into the C:\WINDOWS\SYSTEM32.
    This will include the latest expat.dll and the
    sablot.dll.
  4. Copy the php_xslt.dll from your downloaded PHP_version\EXTENSIONS folder into the C:\WINDOWS\SYSTEM32.
  5. Now, open your PHP.INI and uncomment the
    php_xslt.dll extension.


    1. # Remove the semi-colon ";" at the beginning
      # of the line to uncomment the PHP_XSLT extension

      OLD LINE –> ;extension=php_xslt.dll

      NEW LINE –> extension=php_xslt.dll
  6. Just for reference, my HTTPD.CONF file for Apache
    has the PHP module working as follows:

    1. # P.S. The LoadModule should be php4apache2.dll
      if you use Apache 2

      ScriptAlias /php/ “c:/php/”
      LoadModule php4_module c:/php/sapi/php4apache.dll

      AddType application/x-httpd-php .php
  7. Restart Apache, and hopefully time to say Bingo! If you have problems, please let
    me know
    .


Testing your PHP XSLT installation:

Following is a zip file containing some examples for you to
test out your XSLT installation. Unzip it into your htdocs
folder, it will create a subfolder called xsltest.
Please read the README.TXT file inside this ZIP file for more.

Important notes to make sure XSLT works with PHP module of Apache:

  1. If running PHP as a module gives you problems, make sure you copy the
    php4ts.dll file from your downloaded PHP_version
    folder into C:\WINDOWS\SYSTEM32. This is
    most often the cause of errors.
  2. Make sure you don’t have many copies of the same DLLs lurking around
    in various folders. This is often the problem. Specifically, for instance,
    the same DLLs should not exist in C:\WINDOWS\SYSTEM and the C:\WINDOWS\SYSTEM32
    folders.
  3. If you are using really ancient versions of PHP (i.e., version less
    than 4.1.xx) then this page
    may be useful
    to you as well.
If you are reading this, you may also want to check out this Zend Tutorial about PECL extension for XSLT processing.



This post is tagged

137 Comments

  1. Atuk Daud

    I finally solved my problem with the help of your instructions.

    Unfortunately, I guess I was a bit thick for a while. One additional file that was missing was the php_sablot.dll file (which doesn’t seem to be included in the latest release of PHP). I found it in the prior package that I had saved and everything started to work.

    In addition, I found that I needed to put two dll’s into my php directory rather than the system/system32 directory. These were the php_sablot.dll and the php_xslt.dll.

    I have also downloaded the apache 1.3.27 (not daring to use the apache 2. yet) and perhaps I haven’t set something correctly for the path but it is all working now.

    Thanks again.

  2. abraham

    is there any reason why you suggest qa.php.net instead of http://www.php.net for the download of latest php? how is that different?

  3. rob

    Thankyou very much, it’s took me ages working out how to do this, and now its up and running… Cheers

  4. Abraham, no there is no reason. I get my updates from the QA website because it usually always has the latest quality assured download from the PHP work group. You can get the same from http://php.net as well (which most often links to QA website anyway).

    Rob, glad to hear it! Have fun.

  5. Jane

    I did what the instructions told me. When I started up Apache the window showed up and disppeared promptly. Why’s that?

  6. Jane, appearing and disappearing is alright as long as the server has started (not sure how you have set it up on your machine).

    If your server has not started (i.e., http://localhost doesn’t work) then please check your “error.log” file for why Apache cannot start. This file can be found in “APACHE FOLDER / logs / error.log”.

    Let me know.

  7. Sleepless

    Hi, I follow your very precise and detailed instructions: however, I keep getting an error message everytime I browse to my phpinfo.php-File [including phpinfo();] after including the line

    extension=php_xslt.dll

    in my php.ini

    It says:
    Unknown(): Unable to load dynamic library ./extensions/php_xslt.dll; Procedure not found

    Files are in proper place, php is Version 4.3.2, Win2K,
    extension_dir is ./extensions and the php_xslt.dll is in
    there, too.

    What am I missing here?

    Thank you very much for your help!

  8. Hi, what is the path to your Apache? Are you running PHP as cgi or as a module?

    In general, the error you mention is the most common. It means php_xslt is not found. Are you sure you followed step 4 above (copying this to your system32 folder)?

    If that doesnt solve it, I would recommend reinstalling your PHP.

    (1) Delete your entire PHP directory.
    (2) Delete *ALL* occurences of DLLs lying around in system and system32 folder.
    (3) Start from step 1 here.

    I know this is painful, but if you follow all the steps, it really should work. Let me know how it goes.

  9. ken

    ps: i kept going round in circles but finally figured it out. on windows 2000 you may also want to restart your system after uninstalling php and the associated dll files just to make sure no dll files are straying about. this alone will save you a lot of time!!!

  10. joker

    Put this into your ‘httpd.conf’:

    LoadFile dll/sablot.dll

    Where ‘dll’ represents the folder where this dll is put. (This is for Apache2 and dll is a folder in ServerRoot)

  11. lee

    qa.php.net had expat 1.95.2 and sablotron .97. If found these not current enough for some xslt I was trying that had javascript extensions. Does anyone know if we can just replace the .dll with the lastest versions expat 1.95.6 and sablotron .98 ?

  12. Hi lee, yes both work. Here is what I did:

    1. Got the latest Sablotron (http://download-2.gingerall.cz/download/sablot/Sablot-Win-0.98.zip )
    and grabbed only the sablot.dll from the package; then, copied it into c:\windows\system32 folder (cheerfully overwriting existing sablot.dll).

    2. Then, grabbed the latest expat_win32bin from http://sourceforge.net/project/showfiles.php?group_id=10127&release_id=136025 and ‘installed’ it (it’s an exe). From the installation folder, grabbed the expat.dll and libexpat.dll and copied them into system32 as well. (PS - libexpat.dll is not new).

    3. Restarted Apache. Tried sample XSLT code. Works.

    Does this help?

  13. Rudy

    I am getting this error:
    “Fatal error: Call to undefined function: xslt_create() in C:\Apache\Apache2\htdocs\xsltest\simple.php on line 11″

    Which tells me I have not been successfull at enableling XSLT on my machine.

    I have done everything stated on this page to no-avail. my ini is ok……files are incorrect places…… i have read and re-read everything on these posts.
    I even removed everthing and re-did from start.

    I am trying to install the latest Apache2 and PHP on windowsXP and then have is XSLT enabled.

    Any advice?

    Thanks in advance for any help…..
    Rudy

  14. Rudy

    Shashank???? I grabbed the latest expat_win32bin from ttp://sourceforge.net/project/showfiles.php?group_id=10127&release_id=136025. BUT I see no expat.dll. I only see libexpat.dll.

    am still getting same error :(

  15. Hi Rudy,

    1. About XSLT with Apache 2:

    After reading your message, I just installed my own Apache2 (which I have been putting off for a while) and following the above installation, it works in 5 mins.

    2. About expat.dll in the downloaded file

    It should be there. You need to install the expat package (e.g., in the default C:\Program Files\Expat-1.95.6) and then navigate to C:\Program Files\Expat-1.95.6\Libs and look for expat.dll. Holler if you still cant find it, I’ll put it up here for download.

    As for 1, I guess you may want to tell me your httpd.conf settings. To help you, here is what I use with my Apache2 httpd.conf –

    –> #**** AS MODULE
    –> LoadModule php4_module c:/php/sapi/php4apache2.dll
    –> AddType application/x-httpd-php .php .php4

    (Which is of course, the same as my httpd.conf for Apache 1.3.xx).

    Btw, my PHP.INI is in my c:\windows folder. Where’s yours?

  16. Rudy

    Still not working…xslt not enabled:(
    php.ini is in system32 folder

    i downloaded “expat_win32bin_1_95_6.exe” from sourcefoge as you did Shashank.
    NO expat.dll
    just these two: libexpat.dll and libexpatw.dll
    ——
    i have expat.dll but it is the one that came with “php-4.3.2-Win32″ download

    *******httpd.conf*****(located in c:/apache/apache2/conf)

    LoadModule php4_module c:/php/sapi/php4apache2.dll

    ScriptAlias /php/ “c:/php/”

    AllowOverride All

    DirectoryIndex index.html index.html.var index.php

    AddType application/x-httpd-php .php .php4
    AddType application/x-tar .tgz
    AddType image/x-icon .ico

    ========================
    *******php.ini******(located in system32)

    extension=php_iconv.dll

    extension=php_xslt.dll

    HELLLLPPPP…..
    again thanks

  17. Rudy

    ok…i found expat.dll on “Expat-1.95.2″
    put it in system32……still not working….

    REMOVED everything again…RE-DID everything slowly….NOPE…did not work either….

  18. Rudy

    ME again - no success yet
    I put all my info in an area you can look at.
    I have the steps i did, plus what files and from where I got them…
    (http://pub227.ezboard.com/fanela14638frm2) So please go look at what I did…maybe you can see where I am going wrong.

    HERE IS MY PHP PAGE INFO: http://anela.com/temp/myphpinfo.html

  19. Rudy, any particular reason why you are working with a 4.3.3-dev build instead of the stable 4.3.2 branch? Not that this should matter, but this is one big difference from my setup. Other than this, some other differences in the phpinfo() listing –

    1. In the “Configuration File (php.ini) Path” section I see a full path like this –

    C:\WINDOWS\php.ini

    Your phpinfo listing only seems to show “C:\WINDOWS”.

    2. My “Extensions Dir” in the “PHP Core” section shows this –

    ./

    Yours shows a specific path “c:\php4″. Can you try renaming your PHP.INI’s “extension_dir” to just a dot-slash and see if that helps?

  20. Jorgen Horstink

    Okey this is my problem:

    OS: Windows XP Prof.
    Two drives:
    - C

  21. Jorgen Horstink

    Okey,

    I finally works!

    I backgraded to Apache 1.3x and installed php again…
    But I don’t know why it didn’t work before :s

    Thanks anyway

  22. Saidy Jade

    Nice example, other good examples I have found good are an zvon.org which have an example based references guides to xslt.

    To eliminate the config.php file use
    the xslt_set_base function. (I removed most of the comment so this takes up less space)

    $xml_file = “simple.xml”;
    $xsl_file = “simple.xsl”;

    $xh = xslt_create();

    // set the base to the current working directory.
    $fileBase = ‘file://’ . getcwd () . ‘/’;
    xslt_set_base ( $xh, $fileBase );

    // Process the document
    $result = xslt_process($xh, $xml_file, $xsl_file);
    if (!$result)
    {
    echo ‘XSLT processing error: ‘ .xslt_error($xh) ;
    }
    else
    {
    echo $result;
    }
    xslt_free($xh);

    ?>

  23. Saidy Jade

    Jorgen check that you have this line in your PHP.INI file.

    enable_dl = On

    This is in your apache2 conf

    LoadModule php4_module c:/php-4.3.2/sapi/php4apache2.dll

    The apache2 sapi module is still rather under heavy development, it also doesnt like mysql 4.0

  24. Saidy Jade

    add this to the complex.xsl to display the actual picture from amazon.com

    <xsl:template match=”picture”>
    <img>
    <xsl:attribute name=”src”><xsl:value-of select=”.”/></xsl:attribute>
    </img>
    </xsl:template>

    update/modify the local-name(.)=’url’ to to below to display an actual clickable link and not just text.

    <xsl:when test=”local-name(.)=’url’”>
    <b>More info from this link: </b>
    <a>
    <xsl:attribute name=”href”><xsl:value-of select=”.”/></xsl:attribute>
    <xsl:value-of select=”.”/>
    </a>
    </xsl:when>

    modify/update <xsl:value-of select=”.”/> to remove the text when the URL tag is parsed.

    <xsl:if test=”local-name(.) != ‘url’”>
    <xsl:value-of select=”.”/>
    <br/>
    </xsl:if>

    And there you have it, probaraly what the original author was trying to achieve and this prove that it was a very good example/article.

    Nice job indeed.

    so for those who are not quite clear :P you need to use the xsl:attribute tag for normal html element attributes, src, href, height, width, border.. etc etc

    <img src=”my.img” height=”40″> becomes:

    <img><xsl:attribute name=”src”><xsl:value-of select=”.”/></xsl:attribute><xsl:attribute name=” height”>40</xsl:attribute></img>

    and so on. bte sorry for taking up so much space but I thought this might be useful for some people.

  25. Saidy Jade, thanks for the comments, they are helpful indeed. Will change some examples when I get the time.

  26. Agung Prihanggoro

    hi,..
    i’ve had trouble on installing xslt into my machine,

    what i’ve done :
    - put all .dll files into C:\windows\system32\ folder,
    (expat.dll, libexpat.dll, sablot.dll, xmlparse.dll, xmltok.dll)
    - uncomment xslt and sablot on my php.ini files
    extension=php_sablot.dll
    extension=php_xslt.dll
    - last,.. restarting my computer,..

    then, I start apache, and test some xsl code,
    but, there’s nothing happen, my browser just stuck up and showed “loading document”, but it never finished,..

    please, help..

    i use PHPTriad 2.1.1 on windows ‘98, and using default setting, apache-instal folder : C:\apache\ php-instal folder : C:\apache\php
    php.ini files : C:\apache\php\php.ini
    extensions files : C:\apache\php\extension\

  27. Agung,

    I am not sure why you use PHPTriad, especially version 2.1.1 (that is not the latest) when the individual things to install are cleaner and safer these days. I mean, install PHP, Apache and MySQL separately.

    Apart from this, it seems your “php4ts.dll” is not in your system32. Try that and let me know if it works. I am not sure how PhpTriad installs your PHP — is it working as module? You might do best to follow the instructions on this page.

    Shanx

  28. Giacomo

    Hi, i installed sablotron correctly, but i have another kind of problem. If i change the “documentroot” of the Apache, Sablotron seems not to work. I use this code:

    $xh = xslt_create();
    $result = xslt_process($xh, ‘arg:/_xml’, ‘Apache-Server/…/filename.xsl’);

    but i get this error code:
    Warning: Sablotron error on line none: cannot open file ‘c:/programs/apache group/apache/Apache-Server/…/filename.xsl’ …

    Obviously “c:/programs/apache group/apache” is the apache installation directory.
    bye and thanks.

  29. Giacomo, I dont quite understand the paths you are trying to work with — what is “Apache-Server”? I guess you seem to have answered your own question because the error “cannot open file” most definitely has to do with invalid paths, why do you wish to write the paths the way you do?

  30. gianna

    I’ve installed Apache 1.3.24(CGI) + Php 4.1.2 + MySQL 3.0 running on Win 98 and work well. I’ve installed also Expat 1.95.6 and I downloaded Sablotron 0.90 to parsing Xml documents on Php, but my question is : how I install the binaries of Sablotron ? Please, could you help me ?

  31. Michael Quinn

    Hi,

    I thought this might help aswell as it did for me.
    In the PHP.ini file change the extension dir path to the following (If you are using either PHPTriad or FoxServ).

    extension_dir = C:\WINDOWS\system32

  32. Mailman

    hi,
    thanks for the info, it was very useful!

    mailman

  33. Iggy

    Please, guys, help me!

    All things are working OK.

    Tell me please how to specify XML file if it is on another server. How to write the way to it?

    Thanx.

  34. Fletch

    Hi,

    I’m trying to process an XSLT stylesheet using the xslt_process() function and relative URLs to the .xsl files. Like so:

    $strHTML = xslt_process($xh, ‘arg:/_xml’, ‘xsl/test.xsl’, NULL, $arguments);

    with the script in “C:/localhost/content/” and the xsl file in “C:/localhost/content/xsl/”

    It’s pretty basic. But…

    … it’s not working and xsl_error() tells me:

    “cannot open file ‘C:/PHP/xsl/test.xsl’”

    …but why are you looking for it there Mr. Sablotron?!

    Any help much appreciated! (I think that Giacomo is having the same problem)

  35. Giacomo

    I think so…

    “Apache-Server” is the “documentroot” I set in the apache configuration file. It’s the directory where i would like to insert my php files to process.

  36. You can specify any file path with PHP code for XSLT using the “xslt_set_base” function. Did you try out the code samples? There is code like this –

    $fileBase = ‘file://’ . getcwd () . ‘/’;
    xslt_set_base ( $xh, $fileBase );

    You can change your $fileBase variable to any path you want, as long as it is local (IIRC).

  37. Giacomo

    Perfect, using “xslt_set_base” it works…thanks a lot…=))

  38. p_php

    while running apache after installing php as a module its giving this error

    Cannor locate API module structure php_module in file c:\apache\moudle\php\sapi\phpapache.dll..cified procedure could not be found..
    I’ve followed the PHP installation and configuration Steps properly………I’m running apache 1. and Php 4.3.3

    Please help

  39. What is the “moudle” in the error file path? I guess it should be “moDUle”? In which case, you have an error with your file paths somewhere…that’s my guess based on the information you provide above. Let me know if this was it.

  40. E. Brown

    I am tring to setup xslt for php on my apache web server having followed your instructions I still get the error:

    Fatal error: Call to undefined function: xslt_create() in C:\Program Files\Apache Group\Apache2\htdocs\xsltest\simple.php on line 8

    Any suggestions as to what might be wrong with my configuration, php in general is working(phpinfo.php works fine)

    Thank you,
    E. Brown

  41. Definitely a case of some DLLs lying scattered in different folders. Consider deleting all the DLLs you copied into your SYSTEM and SYSTEM32 folders, and then re-copying them once again based on the PHP instructions and then instructions on this website.

    If it still does not work, please provide more details about OS, path, PHP version, XSLT (Sablotron) version etc.

    Thanks

  42. merlynda

    Can you share the code you used to strip today’s Dilbert comic off the Dilbert site and place on the SnipTools website?)

    Very Cool!

    Thanks very much.

  43. merlynda

    I found the Dilbert script on your site. Thanks. For others who may be interested see “Dilbert a day with PHP, SOAP using NUSOAP”.

  44. Thanks merlynda. The code for Dilbert is at:
    http://sniptools.com/vault/000001.htm

  45. Paul Edwards

    Hi there,

    If you’re trying to load php modules in windows and windows reports that it “can’t find the module” (and you’re going mad because you know it’s there) it’s likely that a dependency dll is not on your system. I had this problem with php_xslt.dll and found this useful tool : dependency walker http://www.dependencywalker.com

    I just opened the php_xslt.dll in the tool and it isolated which dll’s were missing. In my case it was that libexpat.dll and php4ts.dll which weren’t available. I copied them to System32 and hey presto.

    Hope this helps.

    Cheers

    Paul

  46. Adrian

    I should have read Paul Edwards’s comments before embarking on the same darn thing over again :)
    I couldnt’ start apache with the declaration in the php.ini file to load the xslt extension: it kept saying that the file didn’t exist. Following the instructions provided exactly fixed it for me though.

    Cheers
    Adrian.

  47. Peter

    Hi Paul, tnx for your advice!!
    This tool mentioned that iconv.dll was missing, so I copied it to the system32 folder and now, after hours of research, all is working fine. Thanks a lot.

    Peter

  48. Ray Williams

    A well laid out site with decent and up-to-date information, well done. Great site layout too! Any tips for myself, I wish to start with PHP and integrate MYSQL into some sort of Web-Data base application.

  49. Hi Ray, thanks for the comments. Your question though is a little vague. What kind of work do you intend to do with PHP/MySQL?

  50. VK

    I have a well running php/apache system. I did not use the qa.php.net for installing. I am using the XAMPP thing, whatever that means. But so far so good.

    Now, I wanted to do some xml/xslt work. Mainly the sablot extension, so I write one file and it failed. “Fatal error: Call to undefined function: xslt_run() in C:\xampp\htdocs\nku\xmltest1.php on line 11

    Now above the XSLT_RUN command, the XSLT_create() line didnt fail. Should it have ??? Anyway, any ideas why this is happening ??

    Based on the talk here, I think my PHP is a module. And all my dlls are in the XAMPP directory. I dont want to move DLLs around, since everything else works. The extension line is uncommented in the INI file also. What else can go wrong ???

  51. VK, your problem is simple and one that usually crops up when XSLT is not installed properly, or not enabled in the PHP.INI file. Unless you follow the instructions suggested on this site, it is kind of difficult to really help you. Let me know how it goes, good luck. (PS: I am not familiar with the XAMPP stuff)

  52. Jacqueline

    Hello There.

    I found this page very useful. However, after much struggling I still seem to have a problem.

    I am running Win XP home, PHP 4.3.3
    and I still get the following error:
    Call to undefined function: xslt_process().. you know the rest. I have double and triple checked and I think I did everything correctly.

    However, I downloaded Depency Walker, which I found a handy tool, it sniffed out a missing dll, and I was able to fix that. I do however, get a

    ‘ Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.’ in dependency walker.

    the corresponding dll is : MPR.dll, I tried downloading it and got it from another machine, but I still get the same error. So I was wondering if someone could send it to me, so that I can check whether that will solve my problem. Since I will know there is nothing wrong with the dll. [I am not that clued up with this side of things] The other issue as per usual is, could it just be Win XP home giving me problems?

    I would appreciate any and all help, comments or ideas in this regard

    Cheerio
    Jacqueline
    j_fouche@emailfast.com

  53. danilo

    if you have php => 4.4.2
    you mast copy expat.dll,sablot.dll,iconv to
    windows/system32

    in your php.ini
    jo must uncomment line: extension=php_xslt.dll

    this must work!

  54. John

    Anyone make this work with IIS?

    I get NOTHING from the scripts… latest PHP download, latest sablot.dll, libexpat.dll, iconv.dll all in system32 directory. php_xslt.dll in system32 directory and uncommented in php.ini…

    I also don’t get any XSLT module from phpinfo().

    Does PHP need to be run as a module for these to work?

  55. Guest

    I used the instructions on:

    http://sniptools.com/php_xslt_on_windows

    When running http://ged.nork.auc.dk/xsl/test.php I get the following message:

    Warning: xslt_process(): supplied argument is not a valid XSLT Processor resource in C:\www\xsl\test.php on line 51
    Transformation failed.

    Any ideas?

  56. Peter De Bouvere

    Hi,

    I followed every step of your tutorial, but I still can’t seem to parse xml through php.
    I use this php file:

    It displays my error message that I typed in, because xslt_error() doesn’t work (displays nothing).
    Any ideas?

  57. Peter De Bouvere

    My php wasn’t displayed… let’s try again:

    $proc = xslt_create(); // this creates the xslt processor
    $xml = “example.xml”;
    $xsl = “example.xsl”;
    $html = xslt_process($proc, $xml, $xsl) or die (”You’re in deep sh*t…”);
    echo $html;
    xslt_free($proc);

  58. Padraig

    Hi,

    I had the same problem with installing the XSLT. I’m on Windows 98, IIS 4, and the php 4.3. John, I had the same problem as you, until I copied the files to the *c:\windows\system* folder, not system32. Then to my great surprise, it worked. (after easilly 4 hours of trying different stuff)

    I got this hint from reading the ldap entry at PHP (I believe the mailing lists) where the same problem is described.

    Just for information, I believe that pop up window is from php not handling the exception message that Windows is sending, and as a result is just popping the error up to a window. That ‘device is not functioning’ message is a system defined error.

  59. Liquibyte

    Found the solution and it’s a doozie. Copy php4apache.dll (or php4apache2.dll as the case may be), php4ts.dll, expat.dll, sablot.dll, and php_xslt.dll to C:\WINDOWS\system32. Make sure you rename the originals to ‘filename.dll.bak’ as I did.

    In php.ini find ‘extension_dir =’ and make sure it says this: ‘extension_dir = “C:\WINDOWS\system32″‘. Uncomment ‘;extension=php_xslt.dll’ to be ‘extension=php_xslt.dll’.

    In httpd.conf, find put ‘LoadModule php4_module c:/WINDOWS/system32/php4apache.dll’ (replacing the appropriate dll if using apache 2 of course).

    This took me two installs, having to mess with the above mentioned program to sniff out dependancies found that the mpr.dll was the problem with php_sablot.dll. On a hunch I recommented the extension=php_sablot.dll in php.ini and that did the trick.

    This was done with Apache/1.3.29, PHP/4.3.4, and WinXP pro. Just in case you were wondering.

    Good luck to the next person, I hope this helps.

  60. jkue

    Hi,
    to those installing on XP + W2K3 like I did this is a simple process using PHP 4.3.4.4 Apache 2.48 configured with JRun
    on Windows 2003 Server Enterprise and Windows XP Pro. The XML samples work fine
    even without sablot in the system32 folder, not sure if I need sablot cause the transformation
    works fine without it. Sablot is also not located in the extensions folder.

    copy all dlls from EXTENSIONS folder to the windows\system32 folder
    copy all dlls from DLLS folder to the windows\system folder
    copy the php4ts.dll to the windows\system32 folder (this must be done)

    php.ini
    ;extension_dir = (nothing here)
    to extension_dir = “C:\php\extensions”

    http.conf
    LoadModule php4_module C:/php/sapi/php4apache2.dll

    No need to re-start the system, just the webserver. Why copy the extensions files to
    the system32 folder? I have recognised that the webserver has had trouble finding the dlls
    when I just referenced the extensions folder, so I tried it like this and it worked fine.

    cheers

  61. jkue

    uncomment these naturally
    extension=php_xmlrpc.dll
    extension=php_xslt.dll

  62. Thanks JKue, very useful info!

  63. Christian

    Reply to John on October 23, 2003 04:50 AM:
    Anyone make this work with IIS?

    Dear John,

    To install PHP and Sablotron on Windows XP pro & IIS, the following worked with me:

    1) Get the latest PHP Windows installer package from http://www.php.net/downloads.php and install it
    2) Get the latest PHP source package from http://qa.php.net/ and unzip it (it will automatically create a folder named PHP_version).
    3) Check that your PHP.INI file is in the right place, i.e. mine is in C:\WINDOWS (you must have only one valid INI file),
    4) If not already there, copy the php4ts.dll file from your downloaded PHP_version folder into C:\WINDOWS\SYSTEM32
    5) If not already there, copy all the *.dll files from your downloaded PHP_version\DLLs folder into the C:\WINDOWS\SYSTEM32. This should include the latest expat.dll and the sablot.dll.
    6) If not already there, copy the php_xslt.dll from your downloaded PHP_version\EXTENSIONS folder into the C:\WINDOWS\SYSTEM32.
    7) Now, open your PHP.INI and uncomment the php_xslt.dll extension:

    # Remove the semi-colon “;” at the beginning
    # of the line to uncomment the PHP_XSLT extension
    OLD LINE –> ;extension=php_xslt.dll
    NEW LINE –> extension=php_xslt.dll
    8) Of course you need to create a virtual directory with IIS and put your examples in that directory to test the engine, e.g. try (http://images.devshed.com/Server_Side/XML/XSLTrans/XSLTrans.pdf)

  64. lampuki

    Copying the current libexpat.dll to the sys dir did the trick for me. It wasn’t quite obvious when I read the tutorial, but now it happily functions.

    lampuki

  65. Jane

    I got this error when I ran my PHP script:

    Warning: Sablotron error on line 15: XML parser error 11: undefined entity in c:\Program Files\Apache Group\Apache2\htdocs\hrl\index.php on line 38
    XSLT error [2]: XML parser error 11: undefined entity

    This line is: $result = xslt_process($xh, ‘arg:/_xml’, ‘file://’.$XSLT, NULL, $args, $params); and everything worked fine with my other php files.

    How can I find out which entity is undefined?

    Thanks a lot.

  66. Hi Jane,

    Did you try the code sample included on this page? That should give you some ideas.

    Anyway, as regards your own code, the snippet you mention in your note above only contains a reference to an XML file, so it is difficult to tell which entity you are talking about. Would it be possible for you to provide your XML plus the XSLT file?

    If you feel it is not a good idea to do that online, please feel free to email me personally, and I’ll see if I can be of some help.

    Cheers.

  67. skoila

    THANKS A LOT!!

    I’ve been trying to install this php_xslt dll fo 2 hours… !! (and I began to look at php 3 hours ago and everything looks really good, mySql…etc)

    Happily I’ve finally found your nice (and working) explanation… I’ll be able to sleep tonight!

  68. Alex

    Just say BINGO!!!
    THANKS!!
    Work fine.. i’ve pass more then 3hours to find out why it’s does’nt work…. your procedure was perfect… thanks!

  69. Basel

    You are AWESOME. I spent a week tryig to get Sablotron to work following their idiotic instructions and to an avail. I look at your instructions and I got everything to work in 5 minutes. Thank you.

  70. Elnikoff Thierry

    How do you do this with PHP 5 ? I get continuously the same error !

  71. Hi Edward, I have not tried PHP5, but I doubt that the procedure should be any different. What error do you see? A specific error message would be useful in helping you out. Let me know, Shanx

  72. DrHSD

    Greetings,
    I have installed Apache/2.0.49(Win32) and PHP4 on my machine (Windows XP) following your instruction. Though it seems that it is working, but when I try http://localhost/phpinfo.php it gives the following error:

    Fatal error: Call to undefined function: info() in C:\Apache Group\Apache2\htdocs\phpinfo.php on line 1

    Could you tell me what’s wrong.
    Thnaks, drhsd

  73. DrHSD

    Hi again,

    I sent you a question a few minutes ago…; I just restarted apache and it’s now telling me
    Unkwon(): Unable to load dynamic library ‘c:/php\php-xslt.dll - The specified module could not be found.

    Could you give some hints please.

    Thanks again, __drhsd

  74. DrHSD, the first error of course is because you had “info()” in your program, it should be “phpinfo()”. The second error is because you have not installed the XSLT module properly. Please follow the instructions on the top of the page, word by word. It has to work, it’s worked for tons of people with Windows and PHP4.1xx and above. If it doesn’t, then write to me again with your OS, Apache version, and PHP version. -Shanx

  75. DrHSD

    Greetings,
    Thank you very much for your prompt reply and very helpful advice. Yes, I changed info() to phpinfo() and it is working fine now! However, when I uncomented extension=php_xslt.dll and started Apache I got the following warning:

    Unkown(): Unable to load dynamic library ‘c:/PHP\php_xslt.dll’ - The specified module could not be found.

    Now when I comment it out Apache starts without that warning and everything looks fine again! I’m using Apache/2.0.49(Win32) and PHP4 on Windows XP.
    Please advise. Thanks again, drhsd

  76. mirko

    hi!
    i have an Error message:
    cannot load module php_xslt.dll …
    In fact the file don’t exists
    in the extension line on php.ini and in dir extensions
    i use php5 rc1 on win 2k and apache 1.3.24
    there is a file php_xsl.dll works equal
    or not?
    bye mirko

  77. Dmitry

    Installed Apache 1.3.29 PHP from qa.php.net on
    Win2K Prof, follow the instructions.
    Yes, simple XML/XSLT working good.
    But Apache can’t go to the link like
    localhost/page.php?section=1&model=1
    always go right to page.php
    For Apache (?section=1&model=1) no exist
    Whats problem? With me? :-) (Sorry my English)

  78. Dmitry, the problem you mentioned has nothing to with XSLT or Sablotron, it is more an issue of capturing “Request” variables from GET or POST form posts. Please keep questions on topic.

  79. Mirko, I have no idea what your question meant. Please bear with me and let me know again what you wanted to ask? Thanks.

  80. mirko

    in my php version 5 rc1 there isn’t the file php_xslt.dll and in the php.ini file there isn’t a line with this value.
    how do i do?
    tnx and sorry for my english!
    i don’t speak it very well
    bye mirko

  81. Denys

    Hi,

    I tried everything you have mentioned in your article, but can not start Apache. If I comment back the “;extension=php_xslt.dll” line, it starts fine and PHP works. When I uncomment the line, Apache service says ’starting’ and never starts.

    I run Apache 2.0.49, PHP 4.3.6 on Windows 2003 Server Web Edition.

    Would appreciate your help.

    Denys.

  82. Abhishek Koundal

    I have followed all your instructions and the problem that I am getting is whenever I try to get the test.php run it gives me just back the code but not the info about the php.I will really appreciate if you can tell me what extra I have to do to make it work..as my apache server is running well. I am using Xp-home.

  83. Denys, The Sablotron binaries work for everyone else so it must be a problem with your setup. Can I suggest something uncomfortable? Backup your htdocs folder, and install Apache, PHP and Sablotron all over again following instructions. This has always worked for me. It sounds like a lot of time, but it’s the fastest way around. Especially if you have “upgraded” from some version of Apache or PHP to new ones.

    Abhishek, if test.php is coming along as text files, then you have not associated “.php” extension with PHP in your httpd.conf file for Apache. Please follow PHP installation instructions completely.

    HTH,
    Shanx

  84. paul

    Thanks mate - filling gaps where others can’t…. worked a charm straight away…. beautifully done!

  85. ahlimosa

    I have follow all the step that provide from this site.
    here is the message that I got from the error
    when I restart the Apache
    is say this warning

    PHP Startup: ? Unable to initialize module
    Module compiled with module API=20020429, debug=0, thred-saftety=1
    PHP compiled with module API=20040412, debug=0, thread-safety=1
    These options need to match

  86. Hi ahlimosa, what version of PHP? What version of Apache? This does not seem to be a problem with Sablotron, but with Apache and PHP themselves, and is hence not relevant to this discussion, but will be happy to help if I can.

  87. ahlimosa

    now I am using
    Apache/2.0.50 (Win32) mod_perl/1.99_15-dev Perl/v5.8.4 PHP/4.3.7 PHP/5.0.0RC3 mod_ssl/2.0.50 OpenSSL/0.9.7d

  88. Ahlimosa, your php installation is not correct. Where is your PHP.INI file located? How have you installed PHP on Apache? Have you used any installation application? Did you have PHP installed earlier as CGI, before installing now as a module?

  89. Theo Bakker

    Thank you for this page!! It works great. I noticed a small mistake in your testfiles: in simple.php you use the complex.xml and complex.xsl reference instead of the simple ones.

    Bye, Theo

  90. jkue

    I know this is a PHP4 tutorial but for those interested in knowing about this in PHP5, here is a tip. In the php.ini file remove the comment:
    ;extension=php_xsl.dll -> extension=php_xsl.dll

    Remember your extensions folder!
    ;extension_dir = “c:\php\extensions” -> extension_dir = “c:\php\extensions”
    Now go here get a sample of transformations in PHP5(not much difference to the one here): http://www.php.net/manual/en/ref.xsl.php

    *NIX/linux PHP 5 includes the XSL extension by default and can be enabled by adding the argument –with-xsl[=DIR] to your configure line. DIR is the libxslt installation directory, when installing manually. I installed this on FreeBSD5.2.1-RELEASE using port and mod_php5 and Windows XP/2003.

    Ahlimosa it seems to me, that you have two php versions installed, Why? I use this version also on XP/2003 Server mine:Apache/2.0.50 (Win32) mod_perl/1.99_15-dev Perl/v5.8.4 PHP/5.0.1 mod_ssl/2.0.50 OpenSSL/0.9.7d, I placed PHP in it’s own folder like C:\php (so I can update without reinstalling the whole thing).

    Hope this helps.

  91. Pete

    What changes to the above instructions are necessary if I’m using PHP5 and XSLT in a Windows/XP environment?

    Or, is the right answer to stick with PHP4?

  92. Pete, no, I recommend moving on to PHP5 if possible. Have you tried the same instructions?

  93. tito Cordova

    como haria para instalar XSL en php 5.0.1 para windows usando apache 2, he seguido todos los pasos y no funciona

  94. jkue

    tito this does function on XP, Apache2 with PHP5.0.1. All you need to actually do is uncomment:
    ;extension=php_xsl.dll -> extension=php_xsl.dll
    use the samples from Shanx or here(http://www.php.net/manual/en/ref.xsl.php)And you’re good to go, it may also help to restart the service(Apache2), then it should work(I use it).

  95. Mark

    PHP Startup: Unable to load dynamic library ‘(Location)\php_xslt.dll’ - The specified module could not be found.

  96. monty

    Sablotron error on line 289:’XML parser error 4: not
    well-formed (invalid token)’.

  97. jkue

    Mark and Monty state your problems clearer, so you may(if possible) receive some assistance, otherwise your comments makes no sense at all. Please guys read the “Whole” thread you may be missing something(referring to your errors). One error show an invalid document and the other, an extension reference problem, which are both handled in this thread.

  98. Heinz

    Hi,

    both PHP code examples work on my local machine,
    however how could one process an XML file of the following format with XSLT and PHP ?

    XML file (example)
    http :// http://www.domain.com / xml.asp?id=12&row=45

    Thanks

  99. erkko

    problem, at least for me, seams to be not copying expat dll-s to PATH. Thanks, now its working :)
    ———————
    2. Then, grabbed the latest expat_win32bin from http://sourceforge.net/project/showfiles.php?group_id=10127&;release_id=136025 and ‘installed’ it (it’s an exe). From the installation folder, grabbed the expat.dll and libexpat.dll and copied them into system32 as well. (PS - libexpat.dll is not new).

  100. Mike

    Hey I just like to thank you for this great resource it has helped me no end to resolve the issues I was having to get Sablotron working on my system. Special thanks to JKue comments 60 and 61.

    Cheers Mike

  101. Sina

    Has anyone generated DocBook Website output using this method?

  102. Rinkeyreggae

    Concerning placing dlls in your system32 folder.

    I had a problem with apache not finding my modules while they were at the exact location as specified. Problem solved as I put php5ts.dll in the system32 folder. Turns out the other dlls need this one and it needs to be in the system path. I Suppose if you put the dir where php5ts.dll originally is in the path it will also work.

  103. foxvin

    Hi thanks for giving the instruction on how to configure the xslt. I just have 1 problem, my php 4 is ok and working properly. But I also what to use xslt extension under php 5 but when I follow the same instruction it did not work on php 5 because the php_xslt.dll i have is i think design for php 4 only can u help me find php_xslt.dll for php 5.

    thanks

  104. philip ray

    Thanks you for the procedure to overcome my problem, but still i need some tips to generate a powerful index. because i use xslt and xml for this document.

  105. edi

    If it still doesn’t work and you did what this tutorial says, try copying expat.dll, iconv.dll and sablot.dll to your system folder (c:\window\system32 on my pc).
    I found these dlls in the ‘dlls’ folder of my php distribution.

  106. mogyi

    When you begin desperately copying files into C:\WINDOWS\system32 .. and still not seeing any results try to begin with iconv.dll !
    Normally you should NOT copy php4ts.dll, that should reside in the default php installation folder.

  107. noob

    Hi. Getting a problem when trying to run Apache 1.3.. I got win 98 as an OS. The error message in the Prompt is like this:

    [warn] No such file or directory: exec> may not be safe

    Under that it says:

    Apache/1.3.33 PHP/4.3.10 running…

    It seems ok, but then when I try to make a simple PHP test and starting in the browser with ‘http://localhost/test.php’, then the WHOLE code shows up, NOT only the ‘echo’ in the PHP code, as it should be. so that is the problem for me.. you know what the problem could be?

  108. Paulo Basto

    how to enable sablotron XSLT on your TSW server
    You don’t need to download anything. TSW has everything you need, it just needs a little tweaking ;)
    I copied essential files from the php folder to windows\system32

    sablot.dll
    expat.dll
    php4ts.dll
    php_xslt.dll

    checked first if php was being loaded as a module on the apache.conf there should be an entry like this:

    LoadModule php4_module

    checked also on \\localhost\php.info to see if everything was allright. There you should see this line:

    PHP Version 4.3.8

    Configuration File (php.ini) Path C:/TSW/Apache2/conf/php.ini

    ———————————–

    Now that you know where php.ini resides, go and remove this comments in it:

    OLD LINE –> ;extension=php_xslt.dll
    NEW LINE –> extension=php_xslt.dll

    did the same for php_iconv.dll (though i don’t think its mandatory)

    -Under PATHS AND DIRECTORIES, ADDED this path lines:

    include_path = “.;C:\TSW\Apache2\php\”
    include_path = “.;C:\WINDOWS\system32\”

    Though i dont think it was necessary (heck! I dont even know if its really necessary to copy the .dll files to sys32!!).
    Its working now, and thats what matters… for now :)
    ———————————————–

    Then finally my last and decisive step was editing php_handler.conf located in C:\TSW\Apache2\conf\mods, uncommenting the following:

    PHPINIDir conf/php.ini

    LoadFile dll/sablot.dll
    LoadFile dll/libintl-1.dll
    LoadFile dll/gds32.dll
    LoadFile dll/libmhash.dll
    LoadFile php/pdflib.dll

    AddType application/x-httpd-php .php .php3 .info
    AddType application/x-httpd-php-source .phps

    ——

    In the end your php.ini output should have this extra fields:

    xml
    XML Support active
    XML Namespace Support active
    EXPAT Version 1.95.6

    xslt
    XSLT support enabled
    Backend Sablotron
    Sablotron Version 1.0

    Ready to rock!?? I am… :)

  109. Peter Ruzicka

    Thank You!
    This article is very helpfull.

  110. marek

    my question is if it is posible to run xslt on XAMPP and how to do that?
    Thank You.

  111. jarra

    thank you.
    it helped me a lot!
    cheers

  112. Dave

    I was just wondering, as I’m new to XSLT, can a person use it without an xsl stylesheet? - I have an existing stylesheet I’d like to use - a css, is there either a way to refference that instead, or to convert my css to xsl?

  113. Moe

    Syntax error on line 519 of C:/Program Files/Apache Group/Apache2/conf/httpd
    f:
    Cannot load C:/PHP/sapi/php4apache.dll into server: The specified module cou
    ot be found.
    Note the errors or messages above, and press the key to exit. 17…

  114. booboop

    I’ve neen trying to do everything according to
    the instructions above->Windows xp, Apache2,
    php 4.3.10.But XSLT had not been added to the php info page and the code for running a test didn’t work.
    Also according to some instructions in the php
    homepage I’ve moved php.ini to the php folder
    (c:/php/) and changed the extension_dir to
    c:/php/extensions/ (removing the dll’s from the SYSTEM32 folder)
    and moved the’;’ from extension=php_xslt.dll
    things are not working !
    Any suggestion ?

  115. Leonardo Chinchilla

    Hello,

    I does, every step, but I have the following error when start the apache server: Unable to load dynamic library ‘./php_sxl.dll”

    Regards

  116. JP

    Hi there

    I have configured PHP Version 5.0.4 on windows. Everything seems to work fine except
    $xh = xslt_create();

    Fatal error: Call to undefined function xslt_create().

    In your tutorial you have suggested
    “open your PHP.INI and uncomment the php_xslt.dll extension”

    But i dont have any such line, instead i have php_xsl.dll, which i uncommented but no success.

    Kindly suggest for this new verion of PHP.

    Regards

  117. jkue

    JP, SimpleXML is builtin and has (my opinion) easier implementation. Example below.

    — XML FILE: test.xml —
    <?xml version=”1.0″?>
    <human>
    <person>
    <firstname>Henry</firstname>
    <lastname>Connor</lastname>
    <email>hencor@youknow.com</email>
    </person>

    — PHP CODE —
    <?php>
    $human = simplexml_load_file(’./test.xml’);
    foreach($human->person as $person) {
    echo ‘Firstname:’.$person->firstname;
    echo ‘Lastname:’.$person->lastname;
    echo ‘Email:’.$person->email;
    }
    ?>

    The rest is up to your imagination, hope this helps some.

  118. Jkue, thanks for the contribution, I believe your code was caught up in our correction facility. Please mail me the code at shanx at sniptools dot com and I’ll put it up here. Cheers!

  119. jkue

    Was sent today Shanx.

  120. Aristidis

    hello,
    When I am writting in httpd.conf the load module and restart apache2 server it appears a warning
    can not load c:/php/sapi/php4apache2.dll to the server
    regards

  121. burhan

    i m using php 5 . there is no xslt.dll written in php.ini. and your code error is
    Fatal error: Call to undefined function xslt_create() in c:\webs\test\xsltest\complex.php on line 8
    reply me plz

  122. PAblo

    There is no XSLT Support in PHP5, you have to use DOM instead, or downgrade to PHP4

  123. Hi Pablo, that’s not entirely accurate. PHP5 does have XSLT support although that’s been moved to PECL. There’s more info here: http://www.php.net/manual/en/ref.xslt.php

    Quote:
    Note: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0. If you need xslt support with PHP 5 you can use the XSL extension.

    That said, I agree with your general idea, using DomDocument is a lot faster on most systems.

  124. Lee

    I’ve installed Apache2, PHP and MySQL under WinXP. I’m running an XSLT transformation from a small PHP file and PHP won’t resolve the urls of the files involved correctly. I put “xml_file.xml” and “xsl_file.xsl” in the script for XSLT to work with, and the script tries to resolve the file URLs as c:\PHP\xml_file.xml, etc. even though the html pages correctly resolve partial urls to the htdocs dir under Apache. I think this is the problem with the XSL transformation coming up with the generic “invalid token”. Am I missing something in the PHP.ini that’s causing the error in resolving the urls? Any ideas would be very helpful!

  125. Lee

    Forget what I just posted. After downloading your sample files and finding that they worked just fine. My problem was the xslt_set_base command (I didn’t have one). Once I tore apart your file, I see that the file:// url had to be used instead of pointing at my server http:// url.

  126. jirka

    hi, thanks a lot, after 2 days of searching this was the only ! working method :-)

  127. every thing works fine.except tht when i run my apache4 ..,it says unable to load the module.the exact error is….
    cannot load c:/php/php4apache2.dllinto server…the specified module could not be found

  128. Anu, I guess you meant PHP4, not Apache4. That’s the most common error people see when they have not followed install instructions that come with PHP.

  129. from http://qa.php.net/ and unzip
    doesn’t seem to have any versions for windows -
    I’ve found many versions of how to get xslt to work with windows - all slightly different but
    doesn’t seem to work with PHP 5+
    using sablot expat and placing the appropriate .dll files in the right places, making config changes see straight forward but all the doc i reads slightly contradicts and seems to be a year or 2 old.

  130. sparky__

    I’m using PHP Version 4.4.2 with IIS using ISAPI.

    I got it all working in my windows xp machine but i copy it to my w2003 machine(s) , the xslt wont appear at all in the phpinfo!!!
    xslt:
    XSLT support enabled
    Backend Sablotron
    Sablotron Version 1.0

    Also for some reason the Configuration File (php.ini) Path is C:\WINDOWS\php.ini inststead of C:\WINDOWS\system32\php.ini as it was in xp ?!?!

    It’s reading the ini (now i put it c:\windows instead) because i’ve changed the highlight.bg as a test.. whenever i change it in the ini and restart iis this updates but the xslt just wont include.. im not sure why as all the settings are the same. [this was after failing to get it to work in either with php5 so scrapping that all and going back to 4 beause the app my client uses needs it] with that darned “Fatal error: Call to undefined function: xslt_create()” which i only worked out was an incompatibility issue with php 5 prob by coming here.. so cheers for getting me this far!!!

    I’ve even tried having the copying the php4ts.dll in sys32 and windows to hedge my bets to no avail.

  131. almas

    i am getting internal server error and when i start apache console the i get 2 screens one which is empty and gets closed very rapidly and another with following lines

    [Sat Mar 04 22:46:19 2006] [warn] (2)No such file or directory: exec() may not be safe
    Apache/1.3.31 (Win32) running…

  132. Ryan Hennessy

    Hello, I’m a developer with a managed server so I don’t know much about servers. We have a trade show coming up and need to run our site off of a laptop and your tutorial on setting up xslt/sablotron for windows saved me. Thanks,
    Ryan

  133. N Hamayun

    Yes , your page has proved to me a little helpfull.
    as i am using Apache/2.0.59 (Win32) PHP/5.1.6 , and there is no php_xslt.dll file in the ext folder of php but i found on php site file named php_xsl.dll will be used for xslt purpose so i tried whatever you said using this file. while using phpinfo(); method it shows the xsl support but when i browse your sample pages they donot show any thing except fatal error of xslt_create() not found at line at.
    please help me out as i am struggling to do my final year project and time is running out.
    also please note my php folder is c:\php and for apache is c:\Apache2

  134. Stefan

    Hello,
    I have a problem, I can’t configure my PHP 4.4 under Apache 2.2 with exsl suport. Can you help me?
    In phe.ini I have xsl, domxml support, but no exsl support.

    Thank you

  135. Javier

    Hi, I’m trying to use XSL on PHP5, but when I executed phpinfo() it don’t show me that I have installed the extension XSL, I already tried with this too “–with-xsl[=C:\wamp\php\ext]” in the PHP.INI but it don’t work, Any Idea? Sorry for the troubles and Thank you for your support.

  136. John

    I am just posting what my fix to this mess was. I am using XP SP2, apache 2, and php > 4.2.

    I was unable to get phpinfo() to show any proof that the xslt extension was working. I noticed that the php.ini location at the top just said C:\Windows\ and nothing else. So, I looked in my apache config and noticed that my PHPIniDir was pointing to /php, so to fix it, I changed it to C:/apache/php/php.ini And, like magic, it worked.

  137. satyendra Thakur

    Hi i am using php 5 and apache 2.2x getting error
    “can’t locate API module structure ‘php_module’ in file “c:/php/php5apache2_2_dll: No error

    Please help me out or send me how to configure it?

Incoming Links