2013-08-20 3 views
2

약 한 달 동안 사이트에서 작업 중이며 최근에 뭔가 구워 봤는데 지금은 방금 튀어 나온 캐시 사용 권한 문제로 인해 막혔습니다. 쪽으로. 나는 예를 들어,이 문제에 대한 유래에 모든 것을 읽었습니다 : http://cakephp.lighthouseapp.com/projects/42648/tickets/2172cakephp SplFileInfo :: openFile myapp_cake_core_cake_console 스트림을 열지 못했습니다 : 사용 권한이 거부되었습니다

하지만 여전히 나타나지이 오류를 중지 할 수 없습니다 : 버그/비 버그를 포함

SplFileInfo::openFile(/app/tmp/cache/persistent/cake_core_cake_console_):failed to open stream:Permission denied in /lib/.../FileEngine.php line 293

Cakephp Permission denied Fileengine.php

플러그인이 HTML-> 스크립트 도우미를 사용하여 자바 스크립트 자산을로드하는 동안

경고 : SplFileInfo :: openFile (은/var/www /에서 2tli/응용 프로그램/tmp를/캐시/지속/myapp_cake_core_cake_console_) : 은/var/www /에서 2tli/lib에 거부 권한 : 스트림을 열지 못했습니다 라인 /Cake/Cache/Engine/FileEngine.php 314

호출 스택 : 0.0009 352948 1. {주}() /var/www/2tli/app/webroot/index.php:0

0.0045  446644 2. include('/var/www/2tli/lib/Cake/bootstrap.php') /var/www/2tli/app/webroot/index.php:92 

0.0327 1174292 3. Configure::bootstrap() /var/www/2tli/lib/Cake/bootstrap.php:171 

0.0427 1406772 4. include('/var/www/2tli/app/Config/core.php') /var/www/2tli/lib/Cake/Core/Configure.php:78 

0.0494 1512200 5. Cache::config() /var/www/2tli/app/Config/core.php:336 

0.0495 1512940 6. Cache::_buildEngine() /var/www/2tli/lib/Cake/Cache/Cache.php:136 

0.0562 1635708 7. FileEngine->gc() /var/www/2tli/lib/Cake/Cache/Cache.php:169 

0.0562 1635796 8. FileEngine->clear() /var/www/2tli/lib/Cake/Cache/Engine/FileEngine.php:102 

0.0617 1637516 9. FileEngine->_setKey() /var/www/2tli/lib/Cake/Cache/Engine/FileEngine.php:236 

0.0627 1657060 10. trigger_error() /var/www/2tli/lib/Cake/Cache/Engine/FileEngine.php:314 

PHP 5.3.10을 실행 중입니다. 케이크 2.3.7. 나는 내 bootstrap.php에 다음과 같은 한 :

/** 
* Configure the cache used for general framework caching. Path information, 
* object listings, and translation cache files are stored with this configuration. 
*/ 
Cache::config('_cake_core_', array(  
    'engine' => $engine,  
    'prefix' => $prefix . 'cake_core_',  
    'path' => CACHE . 'persistent' . DS,  
    'serialize' => ($engine === 'File'),  
    'duration' => $duration, 
       'mask'=>0666)); 

    Cache::config('_cake_model_', array(
     'engine' => $engine, 
     'prefix' => $prefix.'cake_model_', 
     'path' => CACHE . 'models' . DS, 
     'serialize' => ($engine === 'File'), 
     'duration' => $duration, 
     'mask' => 0666 
)); 

내 플러그인도있는 bootstrap.php 있습니다 :

// Setup a 'default' cache configuration for use in the application. 
Cache::config('default', array('engine' => 'File', 'mask' => 0666)); 

그리고 core.php에서

Cache::config('UserPlugin', array(
    'engine' => 'File', 
    'duration'=> '+3 months', 
    'path' => CACHE, 
    'prefix' => 'UserPlugin_', 
      'mask'=>0666 
)); 

내가 넣어 가지고 모든 애플 리케이션/tmp 파일 및 폴더 내 아파치 소유자 www - 데이터 및 777로 설정 (나는 또한 마스크를 일치 666을 시도).

나는 app/tmp 디렉토리도 삭제하고 다시 작성했습니다.

누구에게 아이디어가 있습니까?

EDIT : 나는 이것을 어떻게 만들어야할지 모르겠지만 Html-> script helper를 주석 처리하는 것은 때때로 오류를 제거하지 않을 것입니다 (원시 HTML은 여전히 ​​스크립트에 include를 보여주었습니다) . 그래서 캐시를 삭제하고 캐시 지속 시간을 1 초로 설정했습니다. html이 캐시 된 것처럼 보인 경우에만 가끔씩 예상대로 작동합니다. 필자가 일관되게 예상 한대로 작동하도록하는 유일한 방법은 캐시를 삭제하고 브라우저 (firefox)를 다시 시작하는 것입니다. 그런 다음 firefox를 다시 시작한 후에 html-> 스크립트를 다시 입력 할 때마다 cake는 권한 오류없이 작동합니다. 나는 근본 원인을 찾을 수없는 것 때문에 문제가 다시 올 것이라고 확신한다.

+0

는 앱/tmp를/캐시 디렉토리에서 모델, 뷰 및 영구 하위 폴더를 포함 적이 있습니까? www가 데이터와 나는 정말이 하나 붙어있어 777로 예를 joshua.paling @ –

+0

... – user6972

+0

는 당신은 확실히 여유 공간이 서버에 남아 있습니까? 일반 FTP를 통해 수동으로 이러한 디렉토리에 파일을 만들 수 있습니까? –

답변

0

내 시스템에서 무슨 일이 벌어지는지는 여전히 불분명하지만 브라우저를 닫고 다시 시작하면이 문제가 해결됩니다.

firebug & firephp를 사용하여 로컬 시스템에서 Firefox 23.0을 테스트하고 있습니다.

또한 이전에 렌더링 된 뷰의 도우미를 통해 $ this-> Js-> 링크를 추가하면 브라우저가 중지되었다가 다시 시작될 때까지 새 JS 스크립트가 표시되지 않습니다. (CakePHP의 캐시가 삭제 또는하지 않을 경우 문제가되지 않습니다.)

이 파이어 폭스/방화범 또는 아파치 또는 케이크 문제가 어떤 종류의 경우 나도 몰라.

편집 : 나는 또한 플러그인을 통해 서비스를 제공하는 대신 응용 프로그램/웹 루트/JS이 파일을 이동하는 시간의 100 % 작동하는 것으로 나타났습니다. 아마도 자산이 케이크에 의해 제공되는 방법에 버그가 있습니까?

2

내가 구워이 일에 발견 된 문제는 나의들이 지속적인 캐시 파일에 제한 권한. 즉, 내 웹 사이트에서 해당 파일을 만들었고 (www-data) 해당 파일을 사용하기 위해 내 콘솔 앱에 대한 전체 읽기/쓰기/실행 권한을 부여하지 않았습니다.

나는

cd ./app/tmp/cache/persistent/ 
sudo chmod 777 * 

내가 파일의 소유자가 아닌 이후는 sudo를 사용했다가 지속 폴더에있는 파일에 대한 사용 권한을 변경하여이 고정; 웹 사이트 (www- 데이터)가있었습니다.

희망이 있으면 도움이됩니다.

관련 문제