problemas com YIIC

Galera estou lendo o livro Agile web application development with Yii1.1 and PHP5 do Jeffery Winesett

Porém na parte Iteration 5: User Access Control onde se monta o RBAC estou tentando rodar o yiic shell nem a parte do help eu consigo e ñ sei o motivo.

Tentei das seguintes maneiras: acessando a pasta www/YiiRoot/framework$ depois rodei o comando yiic shell daí diz q o arquivo ñ foi encontrado. depois…

fui para www/YiiRoot$ yiic shell. aí mostra a msg.

[i]Error: index.php does not exist or is not an entry script file.

USAGE

yiic shell [entry-script | config-file]

DESCRIPTION

This command allows you to interact with a Web application

on the command line. It also provides tools to automatically

generate new controllers, views and data models.

It is recommended that you execute this command under

the directory that contains the entry script file of

the Web application.

PARAMETERS

  • entry-script | config-file: optional, the path to

    the entry script file or the configuration file for

    the Web application. If not given, it is assumed to be

    the ‘index.php’ file under the current directory.[/i]

no msm caminho acima tentei rodar o comando com o help yiic shell help e dá a msm msg acima.

Ele reclama do index.php mas essa pasta não tem o tal index. Onde YiiRoot é a pasta onde descpactei o framework q baixei da web e não minha aplicação gerada pelo yiic webapp.

Preciso passar disso para tentar rodar o yiic rbac e ñ consigo. Alguém tem alguma luz.

tentei agora outra abordagem.

acessei a pasta do meu projeto /www/trakstar, dentro dele executei o comando passando o caminho completo.

user@desktop:~/www/trackstar$ /home/user/www/yii/framework/yiic shell oq me retornou foi o código HTML. Esse HTML eu testei para saber o conteudo e foi um daqueles que exibem erro qnd vc faz alguma caca no código.

mostra um:

CException

Property "CWebApplication.authManager" is read only.

/home/calcio/www/yii/framework/base/CModule.php(467)

continuo ñ entendendo oq fazer e nem pq ñ consigo nem chamar o help do yiic.

estou com o mesmo problema

Olha, achei essa referência aqui:http://www.yiiframework.com/forum/index.php/topic/24903-problem-running-the-rbac-tool-in-chapter-8/

Vou tentar resolver hj a noite. Qq coisa infomo aqui. @Zipzap, se con seguir algo poste aqui tb. Blz?

Ok.Obrigado

Outras referências:

http://www.yiiframework.com/forum/index.php/topic/20060-please-help-chapter-8/

http://www.yiiframework.com/forum/index.php/topic/19321-solved-chapter-8-yiic-shell-problems/

@Zipzap,acho q esse último link resolve nosso problema. Eu fiz um pequeno teste aqui na máquina do trabalho e apareceu as opções abaixo:

[i]At the prompt, you may enter a PHP statement or one of the following commands:

  • controller

  • crud

  • form

  • help

  • model

  • module[/i]

Como aqui eu ñ tenho a minha aplicação do trackstar e nem os arquivos q preciso está imcompleto. Mas acho q o caminho é esse msm.

Solução: Acessar a pasta do trackstar (no meu caso como é Linux) fica: /var/www/trackstar. <enter>.

Aí verá o pronpt apontando para a pasta q acabou de acessar: /var/www/testeyii$. Agora basta digitar protected/yiic shell protected/config/main.php

Sendo assim, o problema que falei com vc no skype sobre o ‘authManager’=>array() estar dentro de ‘components’=>array(), faz difenrença sim.

Pegando a parte do main.php


return array(

   ...


   // application components

   'components'=>array(

       ...

       'authManager'=>array(

            'class'=>'CDbAuthManager',

            'connectionID'=>'db',

        ),

   ),

   ...

);



Deve ficar assim para funcionar. Qnd puder testa e dá um feedback.

Que coça desse capítulo ou meu ingles está péssimo ou foi mt mal explicado e detalhado no livro.

@Zipzap, testei aqui e funcionou, oq deu erro foi na hora de rodar o comando rbac.

Mas resolvi tirando uma parte q parece q caga o PHP e q de importante parece ñ ter nada.

do arquivo /protected/commands/shell/RbacCommand.php retire o seguinte trecho:


public function getHelp()

{

return <<<EOD

USAGE

rbac

DESCRIPTION

This command generates an initial RBAC authorization hierarchy.

EOD;

}



pelo q vi só serve para quebrar o script.

Eu criei um mini how to no subforum do Agile Web Application Development with Yii1.1 and PHP5 sobre esse assunto (em ingles) - http://www.yiiframework.com/forum/index.php/topic/28930-chapter-8-–-rbac/

Espero que ajude.