UnexpectedValueException
The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied UnexpectedValueException thrown with message "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied" Stacktrace: #11 UnexpectedValueException in /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 #10 Monolog\Handler\StreamHandler:write in /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php:119 #9 Monolog\Handler\RotatingFileHandler:write in /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #8 Monolog\Handler\AbstractProcessingHandler:handle in /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php:344 #7 Monolog\Logger:addRecord in /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php:707 #6 Monolog\Logger:error in /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php:176 #5 Illuminate\Log\Logger:writeLog in /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php:87 #4 Illuminate\Log\Logger:error in /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:526 #3 Illuminate\Log\LogManager:error in /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /data/wwwroot/kuaijiwenda/app/Exceptions/Handler.php:40 #1 App\Exceptions\Handler:report in /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
UnexpectedValueException
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
StreamHandler.php
107
10
Monolog
\
Handler
\
StreamHandler
write
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
RotatingFileHandler.php
119
9
Monolog
\
Handler
\
RotatingFileHandler
write
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
AbstractProcessingHandler.php
39
8
Monolog
\
Handler
\
AbstractProcessingHandler
handle
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
344
7
Monolog
\
Logger
addRecord
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
707
6
Monolog
\
Logger
error
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Logger.php
176
5
Illuminate
\
Log
\
Logger
writeLog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Logger.php
87
4
Illuminate
\
Log
\
Logger
error
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
LogManager.php
526
3
Illuminate
\
Log
\
LogManager
error
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
113
2
Illuminate
\
Foundation
\
Exceptions
\
Handler
report
/
app
/
Exceptions
/
Handler.php
40
1
App
\
Exceptions
\
Handler
report
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Bootstrap
/
HandleExceptions.php
81
0
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleException
[internal]
0
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
StreamHandler.php
    /**
     * {@inheritdoc}
     */
    protected function write(array $record)
    {
        if (!is_resource($this->stream)) {
            if (null === $this->url || '' === $this->url) {
                throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
            }
            $this->createDir();
            $this->errorMessage = null;
            set_error_handler(array($this, 'customErrorHandler'));
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url));
            }
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
Arguments
  1. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
RotatingFileHandler.php
        $this->url = $this->getTimedFilename();
        $this->close();
    }
 
    /**
     * {@inheritdoc}
     */
    protected function write(array $record)
    {
        // on the first record written, if the log is new, we should rotate (once per day)
        if (null === $this->mustRotate) {
            $this->mustRotate = !file_exists($this->url);
        }
 
        if ($this->nextRotation < $record['datetime']) {
            $this->mustRotate = true;
            $this->close();
        }
 
        parent::write($record);
    }
 
    /**
     * Rotates the files.
     */
    protected function rotate()
    {
        // update filename
        $this->url = $this->getTimedFilename();
        $this->nextRotation = new \DateTime('tomorrow');
 
        // skip GC of old logs if files are unlimited
        if (0 === $this->maxFiles) {
            return;
        }
 
        $logFiles = glob($this->getGlobPattern());
        if ($this->maxFiles >= count($logFiles)) {
            // no files to remove
            return;
Arguments
  1. array:8 [
      "message" => "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      "context" => array:1 [
        "exception" => UnexpectedValueException {#2412
          #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
          #code: 0
          #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
          #line: 107
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1711640507 {#1236
        date: 2024-03-28 23:41:47.458811 Asia/Shanghai (+08:00)
      }
      "extra" => []
      "formatted" => """
        [2024-03-28 23:41:47] local.ERROR: The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied {"exception":"[object] (UnexpectedValueException(code: 0): The stream or file \"/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log\" could not be opened: failed to open stream: Permission denied at /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107)\n
        [stacktrace]\n
        #0 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(119): Monolog\\Handler\\StreamHandler->write(Array)\n
        #1 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(39): Monolog\\Handler\\RotatingFileHandler->write(Array)\n
        #2 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(344): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n
        #3 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(707): Monolog\\Logger->addRecord(400, 'The stream or f...', Array)\n
        #4 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\Logger->error('The stream or f...', Array)\n
        #5 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\Log\\Logger->writeLog('error', 'The stream or f...', Array)\n
        #6 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(526): Illuminate\\Log\\Logger->error('The stream or f...', Array)\n
        #7 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(113): Illuminate\\Log\\LogManager->error('The stream or f...', Array)\n
        #8 /data/wwwroot/kuaijiwenda/app/Exceptions/Handler.php(40): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #9 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #10 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(UnexpectedValueException))\n
        #11 /data/wwwroot/kuaijiwenda/public/index.php(155): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n
        #12 {main}\n
        "} \n
        """
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
AbstractProcessingHandler.php
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Christophe Coevoet <stof@notk.org>
 */
abstract class AbstractProcessingHandler extends AbstractHandler
{
    /**
     * {@inheritdoc}
     */
    public function handle(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        $record = $this->processRecord($record);
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     *
     * @param  array $record
     * @return void
     */
    abstract protected function write(array $record);
 
    /**
     * Processes a record.
     *
     * @param  array $record
     * @return array
     */
    protected function processRecord(array $record)
    {
Arguments
  1. array:8 [
      "message" => "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      "context" => array:1 [
        "exception" => UnexpectedValueException {#2412
          #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
          #code: 0
          #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
          #line: 107
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1711640507 {#1236
        date: 2024-03-28 23:41:47.458811 Asia/Shanghai (+08:00)
      }
      "extra" => []
      "formatted" => """
        [2024-03-28 23:41:47] local.ERROR: The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied {"exception":"[object] (UnexpectedValueException(code: 0): The stream or file \"/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log\" could not be opened: failed to open stream: Permission denied at /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107)\n
        [stacktrace]\n
        #0 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(119): Monolog\\Handler\\StreamHandler->write(Array)\n
        #1 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(39): Monolog\\Handler\\RotatingFileHandler->write(Array)\n
        #2 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(344): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n
        #3 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(707): Monolog\\Logger->addRecord(400, 'The stream or f...', Array)\n
        #4 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\Logger->error('The stream or f...', Array)\n
        #5 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\Log\\Logger->writeLog('error', 'The stream or f...', Array)\n
        #6 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(526): Illuminate\\Log\\Logger->error('The stream or f...', Array)\n
        #7 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(113): Illuminate\\Log\\LogManager->error('The stream or f...', Array)\n
        #8 /data/wwwroot/kuaijiwenda/app/Exceptions/Handler.php(40): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #9 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #10 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(UnexpectedValueException))\n
        #11 /data/wwwroot/kuaijiwenda/public/index.php(155): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n
        #12 {main}\n
        "} \n
        """
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
        }
        $ts->setTimezone(static::$timezone);
 
        $record = array(
            'message' => (string) $message,
            'context' => $context,
            'level' => $level,
            'level_name' => $levelName,
            'channel' => $this->name,
            'datetime' => $ts,
            'extra' => array(),
        );
 
        try {
            foreach ($this->processors as $processor) {
                $record = call_user_func($processor, $record);
            }
 
            while ($handler = current($this->handlers)) {
                if (true === $handler->handle($record)) {
                    break;
                }
 
                next($this->handlers);
            }
        } catch (Exception $e) {
            $this->handleException($e, $record);
        }
 
        return true;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
Arguments
  1. array:8 [
      "message" => "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      "context" => array:1 [
        "exception" => UnexpectedValueException {#2412
          #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
          #code: 0
          #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
          #line: 107
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1711640507 {#1236
        date: 2024-03-28 23:41:47.458811 Asia/Shanghai (+08:00)
      }
      "extra" => []
      "formatted" => """
        [2024-03-28 23:41:47] local.ERROR: The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied {"exception":"[object] (UnexpectedValueException(code: 0): The stream or file \"/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log\" could not be opened: failed to open stream: Permission denied at /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107)\n
        [stacktrace]\n
        #0 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(119): Monolog\\Handler\\StreamHandler->write(Array)\n
        #1 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(39): Monolog\\Handler\\RotatingFileHandler->write(Array)\n
        #2 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(344): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n
        #3 /data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Logger.php(707): Monolog\\Logger->addRecord(400, 'The stream or f...', Array)\n
        #4 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\Logger->error('The stream or f...', Array)\n
        #5 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\Log\\Logger->writeLog('error', 'The stream or f...', Array)\n
        #6 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(526): Illuminate\\Log\\Logger->error('The stream or f...', Array)\n
        #7 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(113): Illuminate\\Log\\LogManager->error('The stream or f...', Array)\n
        #8 /data/wwwroot/kuaijiwenda/app/Exceptions/Handler.php(40): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #9 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(UnexpectedValueException))\n
        #10 /data/wwwroot/kuaijiwenda/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(UnexpectedValueException))\n
        #11 /data/wwwroot/kuaijiwenda/public/index.php(155): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n
        #12 {main}\n
        "} \n
        """
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function err($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function error($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function crit($message, array $context = array())
    {
        return $this->addRecord(static::CRITICAL, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
Arguments
  1. 400
    
  2. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
  3. array:1 [
      "exception" => UnexpectedValueException {#2412
        #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
        #code: 0
        #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
        #line: 107
      }
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Logger.php
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to the log.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->fireLogEvent($level, $message = $this->formatMessage($message), $context);
 
        $this->logger->{$level}($message, $context);
    }
 
    /**
     * Register a new callback handler for when a log event is triggered.
     *
     * @param  \Closure  $callback
     * @return void
     *
     * @throws \RuntimeException
     */
    public function listen(Closure $callback)
    {
        if (! isset($this->dispatcher)) {
            throw new RuntimeException('Events dispatcher has not been set.');
        }
 
        $this->dispatcher->listen(MessageLogged::class, $callback);
    }
 
    /**
Arguments
  1. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
  2. array:1 [
      "exception" => UnexpectedValueException {#2412
        #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
        #code: 0
        #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
        #line: 107
      }
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Logger.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
Arguments
  1. "error"
    
  2. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
  3. array:1 [
      "exception" => UnexpectedValueException {#2412
        #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
        #code: 0
        #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
        #line: 107
      }
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
LogManager.php
     *
     * @return void
     */
    public function critical($message, array $context = [])
    {
        return $this->driver()->critical($message, $context);
    }
 
    /**
     * Runtime errors that do not require immediate action but should typically
     * be logged and monitored.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function error($message, array $context = [])
    {
        return $this->driver()->error($message, $context);
    }
 
    /**
     * Exceptional occurrences that are not errors.
     *
     * Example: Use of deprecated APIs, poor use of an API, undesirable things
     * that are not necessarily wrong.
     *
     * @param string $message
     * @param array  $context
     *
     * @return void
     */
    public function warning($message, array $context = [])
    {
        return $this->driver()->warning($message, $context);
    }
 
    /**
     * Normal but significant events.
Arguments
  1. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
  2. array:1 [
      "exception" => UnexpectedValueException {#2412
        #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
        #code: 0
        #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
        #line: 107
      }
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
     */
    public function report(Exception $e)
    {
        if ($this->shouldntReport($e)) {
            return;
        }
 
        if (method_exists($e, 'report')) {
            return $e->report();
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e;
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge($this->context(), ['exception' => $e]
        ));
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Exception  $e
     * @return bool
     */
    public function shouldReport(Exception $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Exception  $e
     * @return bool
     */
Arguments
  1. "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
    
  2. array:1 [
      "exception" => UnexpectedValueException {#2412
        #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
        #code: 0
        #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
        #line: 107
      }
    ]
    
/
data
/
wwwroot
/
kuaijiwenda
/
app
/
Exceptions
/
Handler.php
 
    /**
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * Report or log an exception.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
 
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        /* 定义移动端404错误页面 */
        if ($exception instanceof NotFoundHttpException) {
            $code = $exception->getStatusCode();
            if ((new CustomerService())->isMobileEquipment()) {
                if (view()->exists('mobile::error.' . $code)) {
                    return response()->view('mobile::error.' . $code, [], $code);
                }
            }
        }
Arguments
  1. UnexpectedValueException {#2412
      #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      #code: 0
      #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
      #line: 107
    }
    
/
data
/
wwwroot
/
kuaijiwenda
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Bootstrap
/
HandleExceptions.php
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException($e)
    {
        if (! $e instanceof Exception) {
            $e = new FatalThrowableError($e);
        }
 
        try {
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Exception  $e
     * @return void
     */
    protected function renderForConsole(Exception $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
Arguments
  1. UnexpectedValueException {#2412
      #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      #code: 0
      #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
      #line: 107
    }
    
[internal]
Arguments
  1. UnexpectedValueException {#2412
      #message: "The stream or file "/data/wwwroot/kuaijiwenda/storage/logs/laravel-2024-03-28.log" could not be opened: failed to open stream: Permission denied"
      #code: 0
      #file: "/data/wwwroot/kuaijiwenda/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php"
      #line: 107
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
PHP_EXTRA_CONFIGURE_ARGS
"--enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --disable-cgi"
HOSTNAME
"ca6ef5c537a8"
PHP_INI_DIR
"/usr/local/etc/php"
SHLVL
"1"
HOME
"/home/www-data"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_VERSION
"7.2.34"
COMPOSER_HOME
"/tmp/composer"
GPG_KEYS
"1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_ASC_URL
"https://www.php.net/distributions/php-7.2.34.tar.xz.asc"
PHP_URL
"https://www.php.net/distributions/php-7.2.34.tar.xz"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LD_PRELOAD
"/usr/lib/preloadable_libiconv.so php"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c"
PWD
"/www"
PHP_SHA256
"409e11bc6a2c18707dfc44bc61c820ddfd81e17481470f3405ee7822d8379903"
USER
"www-data"
HTTP_A0FDBB39A9FB2D6EB50E5CA96F847D7E
"tag"
HTTP_X_NWS_LOG_UUID
"4925105780004061469"
HTTP_A6B593A8F18DC08D7081C3FE0F942863
"tag"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_FOR
"52.55.214.236"
HTTP_X_TENCENT_UA
"Qcloud"
HTTP_FC7649D4FA112B03319534073F0FED90
"tag"
HTTP_REFERER
"http://www.kuaiji.com/people/5750355/questions"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_CONNECTION
"close"
HTTP_HOST
"ask.kuaiji.com:62888"
REDIRECT_STATUS
"200"
SERVER_NAME
"ask.kuaiji.com"
SERVER_PORT
"62888"
SERVER_ADDR
"11.0.0.125"
REMOTE_PORT
"45098"
REMOTE_ADDR
"172.16.0.14"
SERVER_SOFTWARE
"nginx"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.0"
DOCUMENT_ROOT
"/data/wwwroot/kuaijiwenda/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/ask/people/5750355/questions"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_FILENAME
"/data/wwwroot/kuaijiwenda/public/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711640507.2683
REQUEST_TIME
1711640507
APP_NAME
"V6yp9hjdp9J8"
APP_ENV
"local"
APP_DEBUG
"true"
APP_KEY
"NTREU7aMKQBoDix9Co4fmRpZwn8RriAw"
DB_CONNECTION
"mysql"
DB_HOST
"172.16.0.8"
DB_PORT
"3306"
DB_DATABASE
"kuaijiwenda"
DB_USERNAME
"kuaijiwenda"
DB_PASSWORD
"kiji@@WMGwenda%%123"
DB_PREFIX
"kj_"
APP_URL
"http://ask.kuaiji.com"
WEBSITE_ADMIN_EMAIL
"system@kuaiji.com"
KERNEL_ENV
""
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"redis"
REDIS_HOST
"172.16.0.4"
REDIS_PASSWORD
"zlf36Bw#u%wxKXTO"
REDIS_PORT
"6370"
COS_SECRET_ID
"AKIDKUQ9ew40iBWeX5TfvCGVhmkV2Lgy98yf"
COS_SECRET_KEY
"yocNE4kHmIpGYkmeOG4lSySjARl5GD1q"
COS_REGION
"ap-guangzhou"
COS_BUCKET_IMG
"kuaijiwenda-1259302588"
COS_HOST
"https://kuaijiwenda-1259302588.cos.ap-guangzhou.myqcloud.com"
COS_URL
"https://att02.kuaiji.com"
WEBSITE_SKIN
"default"
MAIL_OPEN
"0"
MAIL_FROM_ADDRESS
""
MAIL_FROM_NAME
""
MAIL_DRIVER
"smtp"
MAIL_HOST
""
MAIL_PORT
""
MAIL_ENCRYPTION
"null"
MAIL_USERNAME
""
MAIL_PASSWORD
""
MAIL_SENDMAIL
"/usr/sbin/sendmail -bs"
JWT_SECRET
"vwgF3MkpXZdKds8bp26m2A8B0MVC7VV2Y6XjTqIOqRYZz5EdZzhLPHRIYaHT6h2x"
PAYMENT_OPEN
"111"
PAY_CHARGE_RATE
"0"
ALIPAY_OPEN
"1"
ALIPAY_APP_ID
""
ALIPAY_NOTIFY_URL
"/ask/alipay/callback"
ALIPAY_RETURN_URL
"/ask/payment/success"
WECHAT_PAY_OPEN
"1"
WECHAT_PUB_APP_ID
"wx5551db4ebee1afd4"
WECHAT_MCH_ID
"1577684251"
WECHAT_PAY_API_KEY
"ZhangWeiQiang19850409KuaiJiWang1"
WECHAT_PAY_NOTIFY_URL
"https://www.kuaiji.com/ask/wechat/callback"
WEAPP_OPEN
"1"
WEAPP_APP_ID
"wx114aef88da29dd43"
WEAPP_APP_SECRET
"ef44f5c86d5ac66403065fe4ca57be99"
WECHAT_PAY_CERT
"/home/www/wwwroot/kuaijiwenda/storage/app/authFiles/wechat_apiclient_cert.pem"
WECHAT_PAY_KEY
"/home/www/wwwroot/kuaijiwenda/storage/app/authFiles/wechat_apiclient_key.pem"
WEBSITE_THEME
"default"
XUNSEARCH_INDEX
"172.16.0.13:8383"
XUNSEARCH_SEARCH
"172.16.0.13:8384"
Key Value
APP_NAME
"V6yp9hjdp9J8"
APP_ENV
"local"
APP_DEBUG
"true"
APP_KEY
"NTREU7aMKQBoDix9Co4fmRpZwn8RriAw"
DB_CONNECTION
"mysql"
DB_HOST
"172.16.0.8"
DB_PORT
"3306"
DB_DATABASE
"kuaijiwenda"
DB_USERNAME
"kuaijiwenda"
DB_PASSWORD
"kiji@@WMGwenda%%123"
DB_PREFIX
"kj_"
APP_URL
"http://ask.kuaiji.com"
WEBSITE_ADMIN_EMAIL
"system@kuaiji.com"
KERNEL_ENV
""
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"redis"
REDIS_HOST
"172.16.0.4"
REDIS_PASSWORD
"zlf36Bw#u%wxKXTO"
REDIS_PORT
"6370"
COS_SECRET_ID
"AKIDKUQ9ew40iBWeX5TfvCGVhmkV2Lgy98yf"
COS_SECRET_KEY
"yocNE4kHmIpGYkmeOG4lSySjARl5GD1q"
COS_REGION
"ap-guangzhou"
COS_BUCKET_IMG
"kuaijiwenda-1259302588"
COS_HOST
"https://kuaijiwenda-1259302588.cos.ap-guangzhou.myqcloud.com"
COS_URL
"https://att02.kuaiji.com"
WEBSITE_SKIN
"default"
MAIL_OPEN
"0"
MAIL_FROM_ADDRESS
""
MAIL_FROM_NAME
""
MAIL_DRIVER
"smtp"
MAIL_HOST
""
MAIL_PORT
""
MAIL_ENCRYPTION
"null"
MAIL_USERNAME
""
MAIL_PASSWORD
""
MAIL_SENDMAIL
"/usr/sbin/sendmail -bs"
JWT_SECRET
"vwgF3MkpXZdKds8bp26m2A8B0MVC7VV2Y6XjTqIOqRYZz5EdZzhLPHRIYaHT6h2x"
PAYMENT_OPEN
"111"
PAY_CHARGE_RATE
"0"
ALIPAY_OPEN
"1"
ALIPAY_APP_ID
""
ALIPAY_NOTIFY_URL
"/ask/alipay/callback"
ALIPAY_RETURN_URL
"/ask/payment/success"
WECHAT_PAY_OPEN
"1"
WECHAT_PUB_APP_ID
"wx5551db4ebee1afd4"
WECHAT_MCH_ID
"1577684251"
WECHAT_PAY_API_KEY
"ZhangWeiQiang19850409KuaiJiWang1"
WECHAT_PAY_NOTIFY_URL
"https://www.kuaiji.com/ask/wechat/callback"
WEAPP_OPEN
"1"
WEAPP_APP_ID
"wx114aef88da29dd43"
WEAPP_APP_SECRET
"ef44f5c86d5ac66403065fe4ca57be99"
WECHAT_PAY_CERT
"/home/www/wwwroot/kuaijiwenda/storage/app/authFiles/wechat_apiclient_cert.pem"
WECHAT_PAY_KEY
"/home/www/wwwroot/kuaijiwenda/storage/app/authFiles/wechat_apiclient_key.pem"
WEBSITE_THEME
"default"
XUNSEARCH_INDEX
"172.16.0.13:8383"
XUNSEARCH_SEARCH
"172.16.0.13:8384"
0. Whoops\Handler\PrettyPageHandler