Erros

Erros comuns em aplicações com CodeIgniter

Nesse post vou falar sobre alguns erros comuns que acontecem em aplicações com CodeIgniter, tanto em produção quanto em desenvolvimento, em dar dicas para solucioná-los.

URLs amigáveis não funcionam

É um dos erros com maior número de ocorrências. Ele é causado pela falta do arquivo .htaccess na raiz do diretório da aplicação ou pela ativação do mod_rewrite em servidores Apache.

Para solucioná-lo você deverá ter o arquivo .htaccess na raiz da aplicação e também o mod_rewrite do apache ativado. A ativação do mod_rewrite deve ser solicitada ao suporte do seu serviço de hospedagem, caso vocÊ não tenha acesso ao gerenciamento do servidor.

Veja a seguir um exemplo de arquivo .htaccess:

Para ativar o mod_rewrite do Apache você pode executar os comandos a seguir, caso tenha acesso SSH ao servidor e permissão para executar esse tipo de operação:


a2enmod rewrite

service apache2 restart

Erro ao carregar classes (libraries, models, helpers…)

Outro erro bastante comum é no carregamento de classes. O CodeIgniter a partir da versão 3 passou a utilizar a primeira letra do nome dos arquivos das classes em maiúscula, e isso faz muita diferença, pois servidores UNIX (Linux) são case sensitives, ou seja, ele diferencia letras maiúsculas de minúsculas; já servidores Windows não são case sensitives, ou seja, não fazem distinção.

Esse erro é muito comum com desenvolvedores que utilizam o ambiente de desenvolvimento em sistemas Windows e em produção utilizam sistemas UNIX.

Se você utiliza Windows para o seu ambiente de desenvolvimento, faça uma verificação dos nomes dos arquivos antes de enviar para produção em servidor UNIX.

Seu código pode estar todo correto, mas se a nomenclatura dos arquivos estiver com as inconsistências citadas acima, a aplicação não vai rodar no ambiente de produção UNIX.

Diretórios sem permissão de leitura e/ou escrita

Um outro problema frequente é em relação às permissões de diretório. A estrutura base do CodeIgniter é composta pelos diretórios application e system, e pelo arquivo index.php.

Esses diretórios e arquivos precisam possuir a permissão 0644 e para aplicá-la você pode executar a linha de comando abaixo (em ambientes UNIX):


chmod -R 0644 application system index.php

Se você conhece algum outro erro que ocorre com frequência com os usuários de CodeIgniter, descreva-o nos comentários e se tiver a solução compartilhe-a. Vamos atualizar esse post com os erros e soluções enviadas.

Outros posts sobre erros no CodeIgniter

Gerenciamento de Erros no CodeIgniter