Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31Warning: fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 31 Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied Whoops\Exception\ErrorException thrown with message "fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied" Stacktrace: #5 Whoops\Exception\ErrorException in /www/wwwroot/jewelryshop/upload/system/library/log.php:31 #4 fopen in /www/wwwroot/jewelryshop/upload/system/library/log.php:31 #3 Log:__construct in /www/wwwroot/jewelryshop/upload/vqmod/vqcache/vq2-system_engine_action.php:41 #2 Action:__construct in /www/wwwroot/jewelryshop/upload/system/framework.php:233 #1 require_once in /www/wwwroot/jewelryshop/upload/vqmod/vqcache/vq2-system_startup.php:110 #0 start in /www/wwwroot/jewelryshop/upload/index.php:27
Stack frames (6)
5
Whoops\Exception\ErrorException
/system/library/log.php31
4
fopen
/system/library/log.php31
3
Log __construct
/vqmod/vqcache/vq2-system_engine_action.php41
2
Action __construct
/system/framework.php233
1
require_once
/vqmod/vqcache/vq2-system_startup.php110
0
start
/index.php27
/www/wwwroot/jewelryshop/upload/system/library/log.php
 */
class Log
{
    private $handle;
 
    /**
     * Constructor
     *
     * @param    string $filename
     */
    public function __construct($filename)
    {
        if (!stripos($filename, '.log')) {
            $filename .= '.log';
        }
        $filePath = DIR_LOGS . $filename;
        if (!file_exists($filePath)) {
            create_dir($filePath);
        }
        $this->handle = fopen(DIR_LOGS . $filename, 'a');
    }
 
    /**
     *
     *
     * @param    string|array $messages
     */
    public function write(...$messages)
    {
        foreach ($messages as $message) {
            if (PHP_SAPI == 'cli') {
                d($message);
            }
            fwrite($this->handle, date('Y-m-d H:i:s') . ' - ' . print_r($message, true) . "\n");
        }
    }
 
    public function __destruct()
    {
        fclose($this->handle);
Arguments
  1. "fopen(/www/wwwroot/jewelryshop/upload/system/storage/logs/action.log): Failed to open stream: Permission denied"
    
/www/wwwroot/jewelryshop/upload/system/library/log.php
 */
class Log
{
    private $handle;
 
    /**
     * Constructor
     *
     * @param    string $filename
     */
    public function __construct($filename)
    {
        if (!stripos($filename, '.log')) {
            $filename .= '.log';
        }
        $filePath = DIR_LOGS . $filename;
        if (!file_exists($filePath)) {
            create_dir($filePath);
        }
        $this->handle = fopen(DIR_LOGS . $filename, 'a');
    }
 
    /**
     *
     *
     * @param    string|array $messages
     */
    public function write(...$messages)
    {
        foreach ($messages as $message) {
            if (PHP_SAPI == 'cli') {
                d($message);
            }
            fwrite($this->handle, date('Y-m-d H:i:s') . ' - ' . print_r($message, true) . "\n");
        }
    }
 
    public function __destruct()
    {
        fclose($this->handle);
/www/wwwroot/jewelryshop/upload/vqmod/vqcache/vq2-system_engine_action.php
     * @param    string $route
     */
    public function __construct($route) {
        $this->id = $route;
 
        $parts = explode('/', preg_replace('/[^a-zA-Z0-9_\/]/', '', (string)$route));
 
        // Break apart the route
        while ($parts) {
            $file = DIR_APPLICATION . 'controller/' . implode('/', $parts) . '.php';
 
            if (is_file($file)) {
                $this->route = implode('/', $parts);
 
                break;
            } else {
                $this->method = array_pop($parts);
            }
        }
        $this->logger = new \Log('action');
    }
 
    /**
     *
     *
     * @return    string
     *
     */
    public function getId() {
        return $this->id;
    }
 
    /**
     *
     *
     * @param    object $registry
     * @param    array $args
     */
    public function execute($registry, array $args = array()) {
        // Stop any magical methods being called
/www/wwwroot/jewelryshop/upload/system/framework.php
if ($config->has('library_autoload')) {
    foreach ($config->get('library_autoload') as $value) {
        $loader->library($value);
    }
}
 
// Model Autoload
if ($config->has('model_autoload')) {
    foreach ($config->get('model_autoload') as $value) {
        $loader->model($value);
    }
}
 
// Route
$route = new Router($registry);
 
// Pre Actions
if ($config->has('action_pre_action')) {
    foreach ($config->get('action_pre_action') as $value) {
        $route->addPreAction(new Action($value));
    }
}
 
// Dispatch
$route->dispatch(new Action($config->get('action_router')), new Action($config->get('action_error')));
 
// Output
$response->output();
 
/www/wwwroot/jewelryshop/upload/vqmod/vqcache/vq2-system_startup.php
// Engine
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/action.php'), DIR_SYSTEM . 'engine/action.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/controller.php'), DIR_SYSTEM . 'engine/controller.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/event.php'), DIR_SYSTEM . 'engine/event.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/router.php'), DIR_SYSTEM . 'engine/router.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/loader.php'), DIR_SYSTEM . 'engine/loader.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/model.php'), DIR_SYSTEM . 'engine/model.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/registry.php'), DIR_SYSTEM . 'engine/registry.php'));
require_once(\VQMod::modCheck(modification(DIR_SYSTEM . 'engine/proxy.php'), DIR_SYSTEM . 'engine/proxy.php'));
require_once(\VQMod::modCheck(DIR_SYSTEM . 'engine/admin_controller.php'));
 
// Helper
require_once(\VQMod::modCheck(DIR_SYSTEM . 'helper/general.php'));
require_once(\VQMod::modCheck(DIR_SYSTEM . 'helper/utf8.php'));
require_once(\VQMod::modCheck(DIR_SYSTEM . 'helper/device.php'));
require_once(\VQMod::modCheck(DIR_SYSTEM . 'helper/functions.php'));
require_once(\VQMod::modCheck(DIR_SYSTEM . 'helper/illuminate.php'));
 
function start($application_config) {
    require_once(\VQMod::modCheck(DIR_SYSTEM . 'framework.php'));
}
 
Arguments
  1. "/www/wwwroot/jewelryshop/upload/system/framework.php"
    
/www/wwwroot/jewelryshop/upload/index.php
// Configuration
define("FRONT_ROOT", getcwd());
if (is_file(FRONT_ROOT . '/config.php')) {
    require_once(FRONT_ROOT . '/config.php');
}
 
// Install
if (!defined('DIR_APPLICATION')) {
    header('Location: install/index.php');
    exit;
}
 
// VirtualQMOD
require_once('./vqmod/vqmod.php');
VQMod::bootup();
 
// VQMODDED Startup
require_once(VQMod::modCheck(DIR_SYSTEM . 'startup.php'));
 
start('catalog');
 

Environment & details:

Key Value
language
"en-gb"
product_id
"18298"
route
"product/product"
empty
empty
Key Value
language
"en-gb"
OCSESSID
"30d579523f25a9b15b56186078"
currency
"CNY"
empty
Key Value
USER
"www"
HOME
"/home/www"
HTTP_COOKIE
"language=en-gb; OCSESSID=30d579523f25a9b15b56186078; currency=CNY"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
PATH_INFO
""
HTTP_HOST
"www.vistosojewelry.com"
REDIRECT_STATUS
"200"
SERVER_NAME
"www.vistosojewelry.com"
SERVER_PORT
"443"
SERVER_ADDR
"192.168.1.214"
REMOTE_PORT
"28180"
REMOTE_ADDR
"216.73.217.15"
SERVER_SOFTWARE
"nginx/1.28.1"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
true
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/2.0"
DOCUMENT_ROOT
"/www/wwwroot/jewelryshop/upload"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/index.php?language=en-gb&product_id=18298&route=product%2Fproduct"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
"language=en-gb&product_id=18298&route=product%2Fproduct"
SCRIPT_FILENAME
"/www/wwwroot/jewelryshop/upload/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1777457255.3435
REQUEST_TIME
1777457255
empty
0. Whoops\Handler\PrettyPageHandler

Fatal error: Uncaught TypeError: fclose(): Argument #1 ($stream) must be of type resource, bool given in /www/wwwroot/jewelryshop/upload/system/library/log.php:51 Stack trace: #0 /www/wwwroot/jewelryshop/upload/system/library/log.php(51): fclose() #1 [internal function]: Log->__destruct() #2 {main} thrown in /www/wwwroot/jewelryshop/upload/system/library/log.php on line 51