zoukankan      html  css  js  c++  java
  • 解决Warning: unlink(/storage/cache/cache.catalog.language.1556158719): No such file or directory in /system/library/cache/file.php on line 68问题

    ytkah在调试opencart项目时提示Warning: unlink(/storage/cache/cache.catalog.language.1556158719): No such file or directory in /system/library/cache/file.php on line 68,出现这个问题首先确认是否权限不够,如果权限不够,可以把对应的文件夹设为777。以下是详细的解决方案

    1.设置权限,/system/storage/和/image/设为755或777

    chmod 0755 or 0777 system/storage/cache/
    chmod 0755 or 0777 system/storage/download/
    chmod 0755 or 0777 system/storage/logs/
    chmod 0755 or 0777 system/storage/modification/
    chmod 0755 or 0777 system/storage/session/
    chmod 0755 or 0777 system/storage/upload/
    chmod 0755 or 0777 system/storage/vendor/
    chmod 0755 or 0777 image/
    chmod 0755 or 0777 image/cache/
    chmod 0755 or 0777 image/catalog/
    

      

    2.清理缓存:extensions - modification - refresh
    dashboard - cache右上角 - refresh
    浏览器清理缓存:ctrl + f5强制刷新
    3.如果还是出现那个提示,可以试试更新/system/library/cache/file.php文件

    <?php
    namespace Cache;
    class File {
        private $expire;
    
        public function __construct($expire = 3600) {
            $this->expire = $expire;
    
            $files = glob(DIR_CACHE . 'cache.*');
    
            if ($files) {
                foreach ($files as $file) {
                    $filename = basename($file);
    
                    $time = substr(strrchr($file, '.'), 1);
    
                    if ($time < time()) {
                        $this->delete(substr($filename, 6, strrpos($filename, '.') - 6));
                    }
                }
            }
        }
    
        public function get($key) {
            $files = glob(DIR_CACHE . 'cache.' . basename($key) . '.*');
    
            if ($files) {
                $handle = fopen($files[0], 'r');
    
                flock($handle, LOCK_SH);
    
                $size = filesize($files[0]);
    
                if ($size > 0) {
                    $data = fread($handle, $size);
                } else {
                    $data = '';
                }
    
                flock($handle, LOCK_UN);
    
                fclose($handle);
    
                return json_decode($data, true);
            }
    
            return false;
        }
    
        public function set($key, $value) {
            $this->delete($key);
    
            $file = DIR_CACHE . 'cache.' . basename($key) . '.' . (time() + $this->expire);
    
            $handle = fopen($file, 'w');
    
            flock($handle, LOCK_EX);
    
            fwrite($handle, json_encode($value));
    
            fflush($handle);
    
            flock($handle, LOCK_UN);
    
            fclose($handle);
        }
    
        public function delete($key) {
            $files = glob(DIR_CACHE . 'cache.' . basename($key) . '.*');
    
            if ($files) {
                foreach ($files as $file) {
                    if (!@unlink($file)) {
                        clearstatcache(false, $file);
                    }
                }
            }
        }
    }
    

      具体文件以官方为准https://github.com/opencart/opencart/edit/master/upload/system/library/cache/file.php

  • 相关阅读:
    大数据并发控制思考
    同步和异步的区别
    java枚举使用详解
    利用反射实现动态方法调用
    利用反射查看类的声明信息
    用两个栈实现对列
    c标签 if else c标签 总结
    struts2标签获取parameter,request,session,application中的值
    mysql日期加减
    详细介绍Java中的堆、栈和常量池
  • 原文地址:https://www.cnblogs.com/ytkah/p/10766517.html
Copyright © 2011-2022 走看看