| 
	
 | 
 Posted by comp.lang.php on 01/15/07 12:09 
I wrote my own version of memory_get_usage() if that function is not 
available: 
 
[PHP] 
if (!function_exists('memory_get_usage')) { 
	/** 
	 * Determine the amount of memory you are allowed to have 
	 * 
	 * @access public 
	 * @return long 
	 * @link 
http://us2.php.net/manual/en/function.memory-get-usage.php#64156 
	 * @see link regarding usage of memory_get_usage() homegrown function 
	 * @see DBActionPerformer 
	 */ 
	function memory_get_usage() { 
		// NEW 1/15/2007: EMERGENCY PATCH TO REINTRODUCE DBActionPerformer 
		if (!class_exists('DBActionPerformer')) { 
		 global $basePath; 
		 if (!class_exists('MethodGeneratorForActionPerformer')) 
		  require_once("$basePath/include/classes.inc.php"); 
		 require_once("$basePath/include/db_action.inc.php"); 
		} 
		$dbAP =& new DBActionPerformer();		// NO DB ACTION REQUIRED HERE JUST 
THE CLASS OBJECT INSTANCE FOR getKommandOSArray() METHOD 
		list($memKommand, $memRedirect) = 
@array_values($dbAP->getKommandOSArray('allowed-memory')); 
		$outputArray = array(); 
		exec("$memKommand $memRedirect", $outputArray); 
		if ($_ENV['windir'] || $_SERVER['windir']) { 
		 return preg_replace( '/[\D]/', '', $outputArray[5]) * 1024; 
		} else { 
	         $outputArray = @explode('  ', $outputArray[0]); 
		 return $outputArray[1] * 1024; 
		} 
  	 } 
} 
[/PHP] 
 
This function works in *nix and Win XP Pro and Win 2003 Server with no 
problems. 
 
However, the dev environment is using Win XP Home with PHP 5.2.0 and 
the function is not only not available, my homegrown version breaks as 
well because "tasklist" is a DOS program only available to Win XP Pro 
and Win 2003 Server, definitely not to XP Home. 
 
Because of this I need another variation of my function but don't have 
any idea where to begin to look.  "pslist" is also not an option 
because the business requirement for the app is that it must be a 
dual-functioning (Windows and *nix) PHP PORTABLE web application, so 
you have to pack it up and go every time, so having executables along 
like "pslist" is not always a viable option. 
 
Suggestions? 
 
Thanx 
Phil
 
  
Navigation:
[Reply to this message] 
 |