2013-07-16 6 views
1

Я пытаюсь запустить приложение для тортов в первый раз. Из папки торт app Я бегу Console/cake тогда я получаю следующий выводошибка разрешения работает Консоль/кекс

PHP Warning: SplFileInfo::openFile(/var/www/virtual_host.com/public_html/app/tmp/cache/persistent/myapp_cake_core_file_map): failed to open stream: Permission denied in /var/www/virtual_host.com/public_html/lib/Cake/Cache/Engine/FileEngine.php on line 314 

Warning: SplFileInfo::openFile(/var/www/virtual_host.com/public_html/app/tmp/cache/persistent/myapp_cake_core_file_map): failed to open stream: Permission denied in /var/www/virtual_host.com/public_html/lib/Cake/Cache/Engine/FileEngine.php on line 314 

Welcome to CakePHP v2.3.7 Console 
--------------------------------------------------------------- 
App : app 
Path: /var/www/virtual_host.com/public_html/app/ 
--------------------------------------------------------------- 
Current Paths: 

-app: app 
-working: /var/www/virtual_host.com/public_html/app 
-root: /var/www/virtual_host.com/public_html 
-core: /var/www/virtual_host.com/public_html/lib 

Changing Paths: 

Your working path should be the same as your application path. To change your path use the '-app' param. 
Example: -app relative/path/to/myapp or -app /absolute/path/to/myapp 

Available Shells: 

[CORE] acl, api, bake, command_list, console, i18n, schema, server, test, testsuite, upgrade 

To run an app or core command, type cake shell_name [args] 
To run a plugin command, type cake Plugin.shell_name [args] 
To get help on a specific command, type cake shell_name --help 

Warning Error: SplFileInfo::openFile(/var/www/virtual_host.com/public_html/app/tmp/cache/persistent/myapp_cake_core_file_map): failed to open stream: Permission denied in [/var/www/virtual_host.com/public_html/lib/Cake/Cache/Engine/FileEngine.php, line 314] 

Warning Error: _cake_core_ cache was unable to write 'file_map' to File cache in [/var/www/virtual_host.com/public_html/lib/Cake/Cache/Cache.php, line 310] 

это выход логинсервера -l

drwxrwxr-x 3 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Config 
drwxrwxr-x 4 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Console 
drwxrwxr-x 3 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Controller 
-rw-rw-r-- 1 DevinCrossman DevinCrossman 701 Jul 16 14:17 index.php 
drwxrwxr-x 2 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Lib 
drwxrwxr-x 3 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Locale 
drwxrwxr-x 4 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Model 
drwxrwxr-x 2 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Plugin 
drwxrwxr-x 4 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Test 
drwxrwxrwx 6 DevinCrossman DevinCrossman 4096 Jul 16 14:17 tmp 
drwxrwxr-x 2 DevinCrossman DevinCrossman 4096 Jul 16 14:17 Vendor 
drwxrwxr-x 9 DevinCrossman DevinCrossman 4096 Jul 16 14:17 View 
drwxrwxr-x 6 DevinCrossman DevinCrossman 4096 Jul 16 14:17 webroot 

Я попытался изменения Config/core.php со следующим на основе this other SO question

Cache::config('_cake_core_', array(
    'engine' => $engine, 
    'prefix' => 'cake_core_', 
    'path' => CACHE . 'persistent' . DS, 
    'serialize' => ($engine === 'File'), 
    'duration' => $duration, 
    'mask' => 0666 
)); 

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

но ничего не изменилось.

Кто-нибудь знает, какие разрешения мне нужно изменить? Нормально ли изменять разрешения для чистой установки? (за исключением app/tmp, я знаю, что это нормально)

+0

Возможные дубликаты с http://stackoverflow.com/questions/12718331/ocasional-error-warning-when-cakephp-is-write-to-the-cache/12724620 # 12724620 – nIcO

+0

файловое приложение/Консоль/торт должны быть исполняемыми, а приложение/tmp должно быть доступно для записи веб-сервером и Я не знаю, будет ли apache (я думаю) частью группы DevinCrossman. –

+0

@AlexStallen только что узнал, что Apache работает как www-data, а www-data является только членом группы www-data. Должен ли я добавить себя в группу www-data и изменить право собственности на каталог торта на эту группу? –

ответ

1

Право собственности DevinCrossman: www-данные всего вашего каталога торта sudo chown -R DevinCrossman:www-data ., стоя в корне vhost.

веб-сервер (член WWW-данных) необходимо, чтобы иметь возможность писать в приложение/TMP

+1

Этот ответ недостаточен для того, чтобы проблема не появлялась, если некоторые файлы должны быть созданы Cake в папке 'tmp', так как владельцами новых файлов будут' www-data: www-data', если они созданы Apache или 'DevinCrossman: DevinCrossman', если они созданы оболочкой под управлением Devin.Поэтому также важны разрешения вновь созданных файлов. – nIcO

+0

эта часть уже рассмотрена в самом вопросе, чтобы использовать два разных Cache :: configs, как с маской 0666 –

2

Файлы в app/tmp создаются режиме664, так что пользователи, принадлежащие к www-data (или группа Apache работает с) разрешено изменять их.

Так работает:

sudo adduser mich www-data 
newgrp www-data 

решить эту проблему для меня.

НТН

0

Возможно также должны

sudo adduser www-data mich 

так, что кэш-файлы, созданные Mich можно получить с помощью WWW-данных