Level Non-Fatal
Status
unresolved
regression
Last seen:
11 months ago
First seen:
1 year ago

E_WARNING

fopen(/wp-content/uploads/edd/2023/03/presspermit-pro_3.8.7.zip): Failed to open stream: Operation not permitted in /www/publishpress_134/public/wp-content/plugins/easy-digital-downloads-pro/includes/process-download.php 793

Latest Event Details
Request Method GET
Url https://publishpress.com/?edd-all-access-download=34506&edd-all-access-file-id=1&edd-all-access-price-id=3&token=23b9c9d41cf26afcaf2ab262c8742379f2af3367e9e301623fcb9c05ff0c0a37
User Authenticated Yes
PHP Version 8.0.27
Stack Trace
#788 	}
#789 
#790 	$chunksize = 1024 * 1024;
#791 	$buffer    = '';
#792 	$cnt       = 0;
#793 	$handle    = @fopen( $file, 'r' );
#794 
#795 	if ( $size = @filesize( $file ) ) {
#796 		header( "Content-Length: " . $size );
#797 	}
#798 
#355 		header( 'Location: ' . $file );
#356 
#357 	} else {
#358 
#359 		// Read the file and deliver it in chunks
#360 		edd_readfile_chunked( $file );
#361 	}
#362 }
#363 
#364 /**
#365  * Determine if the file being requested is hosted locally or not
#269 						header( "X-Accel-Redirect: /$file_path" );
#270 					}
#271 				}
#272 
#273 				if ( $direct ) {
#274 					edd_deliver_download( $file_path );
#275 				} else {
#276 
#277 					// The file supplied does not have a discoverable absolute path
#278 					edd_deliver_download( $requested_file, true );
#279 				}
#194 	add_filter( 'edd_url_token_allowed_params', 'edd_all_access_url_tokens_add_params' );
#195 
#196 	// Note that we increment the count of downloads-used by the customer in the edd_process_download_headers hook.
#197 
#198 	// Now that we've authenticated the All Access, process the download.
#199 	edd_process_download();
#200 
#201 }
#202 add_action( 'init', 'edd_all_access_convert_site_to_download' );
#203 
#204 /**
#303 
#304 				// Avoid the array_slice() if possible.
#305 				if ( 0 == $the_['accepted_args'] ) {
#306 					$value = call_user_func( $the_['function'] );
#307 				} elseif ( $the_['accepted_args'] >= $num_args ) {
#308 					$value = call_user_func_array( $the_['function'], $args );
#309 				} else {
#310 					$value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
#311 				}
#312 			}
#313 		} while ( false !== next( $this->iterations[ $nesting_level ] ) );
#327 	 *
#328 	 * @param array $args Parameters to pass to the callback functions.
#329 	 */
#330 	public function do_action( $args ) {
#331 		$this->doing_action = true;
#332 		$this->apply_filters( '', $args );
#333 
#334 		// If there are recursive calls to the current action, we haven't finished it until we get to the last one.
#335 		if ( ! $this->nesting_level ) {
#336 			$this->doing_action = false;
#337 		}
#512 	} elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
#513 		// Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
#514 		$arg[0] = $arg[0][0];
#515 	}
#516 
#517 	$wp_filter[ $hook_name ]->do_action( $arg );
#518 
#519 	array_pop( $wp_current_filter );
#520 }
#521 
#522 /**
#618  *
#619  * If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below.
#620  *
#621  * @since 1.5.0
#622  */
#623 do_action( 'init' );
#624 
#625 // Check site status.
#626 if ( is_multisite() ) {
#627 	$file = ms_site_check();
#628 	if ( true !== $file ) {
#82 /* That's all, stop editing! Happy blogging. */
#83 /** Absolute path to the WordPress directory. */
#84 if ( !defined('ABSPATH') )
#85         define('ABSPATH', dirname(__FILE__) . '/');
#86 /** Sets up WordPress vars and included files. */
#87 require_once(ABSPATH . 'wp-settings.php');
#88 
#45  * If neither set of conditions is true, initiate loading the setup process.
#46  */
#47 if ( file_exists( ABSPATH . 'wp-config.php' ) ) {
#48 
#49 	/** The config file resides in ABSPATH */
#50 	require_once ABSPATH . 'wp-config.php';
#51 
#52 } elseif ( @file_exists( dirname( ABSPATH ) . '/wp-config.php' ) && ! @file_exists( dirname( ABSPATH ) . '/wp-settings.php' ) ) {
#53 
#54 	/** The config file resides one level above ABSPATH but is not part of another installation */
#55 	require_once dirname( ABSPATH ) . '/wp-config.php';
#8 if ( ! isset( $wp_did_header ) ) {
#9 
#10 	$wp_did_header = true;
#11 
#12 	// Load the WordPress library.
#13 	require_once __DIR__ . '/wp-load.php';
#14 
#15 	// Set up the WordPress query.
#16 	wp();
#17 
#18 	// Load the theme template.
#12  * @var bool
#13  */
#14 define( 'WP_USE_THEMES', true );
#15 
#16 /** Loads the WordPress Environment and Template */
#17 require __DIR__ . '/wp-blog-header.php';