2012-01-20 6 views
2

Стараюсь фреймворка и для использования GII инструмента - Защищенная папка должна иметь разрешение 777. В первую очередь я бегу:Существует ли способ использования gii-инструмента без разрешения защищенного каталога 777?

chown myuser:myuser protected; 

Но я не использовать GII инструмент Су, я должен выполнить команду():

chmod 777 protected; 

ли их другой способ сделать это? (например, какой пользователь запустить GII инструмент, который может быть совместной группе MyUser)

Благодаря

+0

Тангенциально, chmod 777 в основном всегда неправильный. 755 должно быть достаточно. Вы не должны предоставлять случайным пользователям возможность записи на ваши ресурсы. – tripleee

ответ

1

Инструмент Gii в Yii создает новые файлы в защищенном каталоге. это означает, что apache и php должны писать в защищенном каталоге. вы пробовали с 755. он должен работать.
Хитрость заключается в том, чтобы использовать только Gii на вашем сервере разработки (localhost) - чтобы вам не приходилось перезапускать разрешения на вашем производственном сервере.

Редактировать

К сожалению догадывался, я думаю, что я что-то пропустил

По умолчанию по соображениям безопасности, Gii настроен быть доступен только на локальном хосте. Если мы хотим сделать его доступным на других доверенных компьютерах, мы можем настроить свойство [GiiModule :: ipFilters], как показано в приведенном ниже коде.

return array(
...... 
'modules'=>array(
    'gii'=>array(
     'class'=>'system.gii.GiiModule', 
     'password'=>'pick up a password here', 
     // 'ipFilters'=>array(...a list of IPs...), 
     // 'newFileMode'=>0666, 
     // 'newDirMode'=>0777, 
    ), 
), 
); 

Проверить Special Topics: Automating code generation Подробности

+1

i try chmod 755 - его не работает только с 777 его работами – Yosef

0

Защищенная папка в целом не нужно 777 - только активов и папок во время выполнения.

Вы можете написать собственный скрипт, который просто использует команды PHP chmod и chown.

+1

Вопрос о Gii тоже создает CRUD, модели и контроллеры, поэтому ему нужно писать в соответствующих подкаталогах защищенной папки. –

5

Изменение защищенного владельца: группы с помощью:

$ sudo chown yourUserName:www-data path/to/protected
$ sudo chmod 775 path/to/protected -R

Это то, что я делаю, и работает отлично. Попробуйте.

0

Изменить право собственности на каталоги в вашем проекте, которые подпадают под действие кода поколения.

cd path/to/protected 
sudo chgrp www-data models controllers views