Perguntas Freqüentemente Feitas

  1. Problema ao instalar o symfony
  2. Problema de memória ao instalar o symfony via PEAR
  3. Não consigo ver as páginas que requerem acesso ao banco de dados
  4. Meu arquivo de configuração YAML não funciona
  5. O comando "symfony" produz erros estranhos ao processar o arquivo …
  6. O apache exibe a mensagem "500 Internal Server Error" quando tento acessar …
  7. O apache exibe a mensagem "Access forbidden (Error 403)" quando tento …
  8. Usando comandos "symfony propel-foo-bar", aparece o erro "Failed opening …
  9. Recebo este erro: "Oops! There was an internal server error. 500 Error : …
  10. E se eu ainda tiver dúvidas?

Problema ao instalar o symfony

Se você tiver problemas ao instalar o symfony ou não puder executálo via linha de comando, verifique se a propriedade zend.ze1_compatibility_mode está definida como Off no arquivo php.ini.

Problema de memória ao instalar o symfony via PEAR

pear install symfony/symfony

Fatal error: Allowed memory size of XXXXXX bytes exhausted (tried to allocate 39 bytes) in /usr/share/php/PEAR/XMLParser.php on line 133
Allowed memory size of XXXXXX bytes exhausted (tried to allocate 23 bytes)

Se você receber esta mensagem de erro, você deve aumentar o limite de memória(memory_limit) no php.ini. Uma outra solução, que não requer alterar o php.ini é: PHP_PEAR_PHP_BIN='/usr/bin/php5 -d memory_limit=32M export PHP_PEAR_PHP_BIN

Não consigo ver as páginas que requerem acesso ao banco de dados

Se as páginas que requerem conexão com o banco de dados produzirem o seguinte erro:

 !PropelException: No connection params set::

Certifique-se que o nome do banco de dados no arquivo schema.xml está definido como 'symfony'

(http://www.symfony-project.com/content/book/page/model.html Symfony model - XML Data Model])

Meu arquivo de configuração YAML não funciona

Arquivos YAML podem ser mal-interpretados se os valores contiverem caracteres especiais (como barras, dois pontos, etc.). Para evitar erros, envolva o valor entre aspas simples, modificando:

namespace:
  key:    that's an incorrect value ! 100% chance to cause an error

para:

namespace:
  key:    'that''s an incorrect value ! 100% chance to cause an error'

Em adição, tabulações são proibidas em arquivos YAML. Sempre use espaços duplos ao invés de tabulação.

Saiba mais sobre a sintaxe de arquivos YAML aqui.

DICA: Se você usa o Vim como o seu editor, considere colocar:

au BufNewFile,BufRead *.yml set expandtab

em seu arquivo ".vimrc". Quando o tab for pressionado serão inseridos espaços ao invés de uma tabulação.

O comando "symfony" produz erros estranhos ao processar o arquivo schema.xml

Certifique-se de que no diretório config do seu projeto não existem outros arquivos xml. O gerador do propel executado através do symfony processa todos os arquivos xml, não apenas o arquivo schema.xml.

O apache exibe a mensagem "500 Internal Server Error" quando tento acessar um projeto do symfony pelo navegador

O apache pode não estar configurado para carregar o móduilo mod_rewrite. Verifique se esta linha existe e não está comentada no arquivo httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

O apache exibe a mensagem "Access forbidden (Error 403)" quando tento acessar um projeto do symfony pelo navegador

Algumas instalações do apache são pré-configuradas com um controle de acesso restritivo aos diretórios. Nesse caso, você deve usar a diretiva "Allow from all" na diretiva <directory /> no arquivo httpd.conf

Exemplo:

<Directory "C:\xampp\php\pear\data\symfony\web\sf">
  Allow from All
</Directory>

<VirtualHost *:80>
  ServerName askeet
  DocumentRoot "C:\web\askeet\web"
  DirectoryIndex index.php
  Alias /sf "C:\xampp\php\pear\data\symfony\web\sf"

  <Directory "C:\web\askeet\web">
   AllowOverride All
#Sobreescreve o controle de acesso restrito padrão(ex.: Deny from all) no diretório
   Allow from All 
  </Directory>
</VirtualHost>

Usando comandos "symfony propel-foo-bar", aparece o erro "Failed opening pear.php"

Em qualquer instalação do symfony (incluindo o sandbox), o PEAR é necessário para a biblioteca phing, a qual é usada pelos comandos do gerador do propel. Então você deve instalar o PEAR para o ambiente de desenvolvimento que você quiser utilizar o gerador do propel ou outros comandos de construção.

Recebo este erro: "Oops! There was an internal server error. 500 Error : internal server". O que fazer?

Este erro é lançado pelo symfony (não pelo servidor web) quando um erro fatal é lançado pelo PHP. O controlador de produção (index.php) esconde qualquer mensagem de erro, exibindo apenas esta mensagem genérica. Para saber a real mensagem de erro, você deve acessar seu sistema através do controlador de desenvolvimento (aplicacao_dev.php).

Se você fez o primeiro checkout de um repositório subversion, altere as permissões de acesso. Isto pode ser feito executando o comando symfony fix-perms no diretório raiz do projeto.

E se eu ainda tiver dúvidas?

O fórum é um bom local para se obter mais informações. Certifique-se de procurar no fórum antes de perguntar o que alguém já pode ter postado a solução.