The function call "@ignore_user_abort(true);" does not seem to work correctly under IIS 6.0 (Windows 2003 SP1) + PHP 5.0.5 using the php-cgi.exe handler. The routine that reindexes a page after a change does not seem to complete, causing the indexes to be always empty and preventing the search function to find anything. Moving the call to "sendGif" after the call to "runIndexer" seems to fix the problem. I understand that this is not optimal (downloading the gif completes only when the indexing is done), but as it is, the search function does not work (indexes are never created or upadted).
Following is a snippet of the change I performed on the file lib/exe/indexer.php (move call to "sendGif" after call to "runIndexer"
<?php
/**
* DokuWiki indexer
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Andreas Gohr <
andi@splitbrain.org>
*/
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/auth.php');
session_write_close(); //close session
if(!defined('NL')) define('NL',"n");
// keep running after browser closes connection
@ignore_user_abort(true);
// send gif
// ### IIS6 Note: calling sendGif does trigger re-indexing the page
// ### under IIS 6 + php-cgi.exe. Calling sendGif after the indexing
// ### is done works
// sendGIF();
// Catch any possible output (e.g. errors)
if(!$_REQUEST['debug']) ob_start();
// run one of the jobs
runIndexer() or runSitemapper();
if(!$_REQUEST['debug']) ob_end_clean();
// ### IIS6: Send the image after runIndexer is executed
sendGIF();
exit;