処理CodeIgniterのCLIモードは、Apacheによって書かれたファイルのキャッシュを読み取ることができません

動作環境:Ubuntuの16.04 + Apacheの+ PHP 5.6.40 / 2.4.18
CodeIgniterの:3.1.10


3.1.10 CodeIgniterの、キャッシュファイルのドライブの方法は、方法です

遭遇した問題点は次のとおりです。キャッシュファイルは、キャッシュを読み取ることができませんCLIモード初期化ファイルキャッシュを渡すためにしようと、ブラウザによってコントローラにアクセスするために書き込むことができ、最終的に考えたのは唯一でありcurl、要求、およびネットワークアクセス内の判断このメソッドを実行します

A PHP Error was encountered

Severity:    Warning
Message:     file_get_contents(/var/www/html/codeigniter3/application/cache/cache_test): failed to open stream: Permission denied
Filename:    /var/www/html/codeigniter3/system/libraries/Cache/drivers/Cache_file.php
Line Number: 275

与えることを試みたcacheのApacheへのフォルダの所有者をwww-dataして与えた755CLIモードで実行する権限を、まだ上記のエラーを取得します

ソリューション:

helpersヘルプファイルを置くフォルダとapplication/autoload.php自動的にヘルプファイルにロードされました

if(!function_exists('get_real_ip')){
    function get_real_ip(){  
        $ip=false;  
        if(!empty($_SERVER["HTTP_CLIENT_IP"])){  
            $ip = $_SERVER["HTTP_CLIENT_IP"];  
        }  
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
            $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);  
        if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }  
            for ($i = 0; $i < count($ips); $i++) {  
            if (!preg_match ("^(10|172\.16|192\.168)\.", $ips[$i])) {
                $ip = $ips[$i];  
             break;  
            }  
        }  
        }  
        return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);  
    }   
}

コントローラ

<?php

/**
* 每天凌晨需要初始化文件緩存
*/
class Init_daily_cache extends MY_Controller {

    public function index(){
        if(is_cli()){
            exit('can not Run at cli');
        }
        $ip =  get_real_ip();
        $intranet_ip = array('127.0.0.1','::1');
        //可以先调试在当前服务器的ip,然后再修改$intranet_ip 变量的值
        //echo $ip;exit();
        if(!in_array($ip, $intranet_ip)){
            exit('不是内网访问,无须的请求');
        }
        //code
        $this->cache->file->save('cache_test', 'test',3600);
    }
}

実行しよう:

vagrant@vagrant:/var/www/html/codeigniter3$ curl http://localhost/codeigniter3/index.php/init_daily_cache
::1

おすすめ

転載: www.cnblogs.com/fsong/p/11424293.html