Antony Dovgal wrote: >>> What's in modx/index.php ? >>> Looking at the backtrace, I'd say there is an infinite loop.
<?php /* ************************************************************************* MODx Content Management System and PHP Application Framework Managed and maintained by Raymond Irving, Ryan Thrash and the MODx community ************************************************************************* MODx is an opensource PHP/MySQL content management system and content management framework that is flexible, adaptable, supports XHTML/CSS layouts, and works with most web browsers, including Safari. MODx is distributed under the GNU General Public License ************************************************************************* MODx CMS and Application Framework ("MODx") Copyright 2005 and forever thereafter by Raymond Irving & Ryan Thrash. All rights reserved. This file and all related or dependant files distributed with this filie are considered as a whole to make up MODx. MODx is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. MODx is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MODx (located in "/assets/docs/"); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more information on MODx please visit http://modxcms.com/ ************************************************************************** Originall based on Etomite by Alex Butter ************************************************************************** */ /** * Initialize Document Parsing * ----------------------------- */ // get start time $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $tstart = $mtime; // secure variables from outside $modxtags = array('@<script[^>]*?>.*?</script>@si', '@&#(\d+);@e', '@\[\[(.*?)[EMAIL PROTECTED]', '@\[!(.*?)[EMAIL PROTECTED]', '@\[\~(.*?)[EMAIL PROTECTED]', '@\[\((.*?)\)[EMAIL PROTECTED]', '@{{(.*?)[EMAIL PROTECTED]', '@\[\*(.*?)[EMAIL PROTECTED]'); foreach($_POST as $key => $value) { $_POST[$key] = preg_replace($modxtags,"", $value); } foreach($_GET as $key => $value) { $_GET[$key] = preg_replace($modxtags,"", $value); } $_SERVER['HTTP_USER_AGENT'] = isset($_SERVER['HTTP_USER_AGENT']) ? preg_replace("/[^A-Za-z0-9_\-\,\.\/\s]/", "", $_SERVER['HTTP_USER_AGENT']): ''; $_SERVER['HTTP_REFERER'] = isset($_SERVER['HTTP_REFERER']) ? preg_replace($modxtags,"", $_SERVER['HTTP_REFERER']) : ''; if(strlen($_SERVER['HTTP_USER_AGENT'])>255) $_SERVER['HTTP_USER_AGENT'] = substr(0,255,$_SERVER['HTTP_USER_AGENT']); if(isset($_GET['q'])) $_GET['q'] = preg_replace("/[^A-Za-z0-9_\-\.\/]/", "", $_GET['q']); // first, set some settings, and address some IE issues @ini_set('url_rewriter.tags', ''); @ini_set('session.use_trans_sid', 0); @ini_set('session.use_only_cookies',1); session_cache_limiter(''); header('P3P: CP="NOI NID ADMa OUR IND UNI COM NAV"'); // header for weird cookie stuff. Blame IE. header('Cache-Control: private, must-revalidate'); ob_start(); error_reporting(E_ALL & ~E_NOTICE); /** * Filename: index.php * Function: This file loads and executes the parser. * */ define("IN_ETOMITE_PARSER", "true"); // provides compatibility with etomite 0.6 and maybe later versions define("IN_PARSER_MODE", "true"); define("IN_MANAGER_MODE", "false"); // initialize the variables prior to grabbing the config file $database_type = ''; $database_server = ''; $database_user = ''; $database_password = ''; $dbase = ''; $table_prefix = ''; $base_url = ''; $base_path = ''; // get the required includes if($database_user=="") { $rt = @include_once "manager/includes/config.inc.php"; // Be sure config.inc.php is there and that it contains some important values if(!$rt || !$database_type || !$database_server || !$database_user || !$dbase) { echo " <style type=\"text/css\"> *{margin:0;padding:0} body{margin:50px;background:#eee;} .install{padding:10px;border:5px solid #f22;background:#f99;margin:0 auto;font:120%/1em serif;text-align:center;} p{ margin:20px 0; } a{font-size:200%;color:#f22;text-decoration:underline;margin-top: 30px;padding: 5px;} </style> <div class=\"install\"> <p>MODx is not currently installed or the configuration file cannot be found.</p> <p>Do you want to <a href=\"install/index.php\">install now</a>?</p> </div>"; exit; } } // start session startCMSSession(); // initiate a new document parser include_once($base_path."manager/includes/document.parser.class.inc.php"); $modx = new DocumentParser; $etomite = &$modx; // for backward compatibility // set some parser options $modx->minParserPasses = 1; // min number of parser recursive loops or passes $modx->maxParserPasses = 10; // max number of parser recursive loops or passes $modx->dumpSQL = false; $modx->dumpSnippets = false; // feed the parser the execution start time $modx->tstart = $tstart; // Debugging mode: $modx->stopOnNotice = false; // Don't show PHP errors to the public if(!isset($_SESSION['mgrValidated']) || !$_SESSION['mgrValidated']) @ini_set("display_errors","0"); // execute the parser $modx->executeParser(); ?> I have pasted the modx/index.php file above, but it includes so many files, you might want to download it from http://www.modxcms.com Chris -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php