Erros

Os 5 principais erros em aplicações com CodeIgniter

Erros são comuns durante o processo de desenvolvimento de aplicações, independente da linguagem e framework utilizado. Descobrir quais são esses erros e como solucioná-los é que costuma ser o grande problema, e onde se perde mais tempo.

A seguir estou listando os 5 principais erros em aplicações com CodeIgniter e dando dicas de como solucioná-los.

#1 – Nomenclatura de arquivos

Esse é um dos erros mais comuns em aplicações com CodeIgniter. As versões mais recentes do framework fazem uso de UCfirst, ou seja, a primeira letra do nome do arquivo em maiúscula. Em servidores Windows não vai fazer tanta diferença, mas em servidores rodando Linux você terá problemas, pois o UNIX faz distinção entre letras maiúsculas e minúsculas.

Fique atento ao Style Guide do CodeIgniter para manter o código da sua aplicação no mesmo padrão do código do framework.

#2 – URLs amigáveis que não funcionam

Um outro erro muito comum é o não funcionamento de URLs amigáveis. Isso pode ocorrer por 2 motivos:

  • Falta do arquivo .htaccess na raiz do projeto
  • Apache ou NGINX não configurados para funcionarem com URLs amigáveis

O problema do arquivo .htaccess no Apache pode ser facilmente resolvido criando o arquivo conforme código a seguir:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Já no NGINX, verifique as configurações dele para se certificar de que estejam de acordo com as configurações necessárias para funcionar com o CodeIgniter. Veja a seguir um código de configuração mínima para o seu funcionamento:

location / {
    if (!-e $request_filename){
        rewrite ^(.*)$ /index.php/$1 break;
    }
}

#3 – Uploads de arquivos não são concluídos

Muitas aplicações fazem, uso de upload de arquivos, e é muito comum esses uploads pararem de funcionar quando a aplicação é colocada em produção. Isso se deve, na maioria dos casos, à falta de permissão de escrita ou até mesmo da existência do diretório onde os arquivos serão armazenados.

Sempre que colocar uma aplicação em produção, verifique as permissões dos diretórios da aplicação, de modo a garantir que eles estejam com as devidas permissões, e não menos importante, realize os testes no ambiente de produção.

#4 – Recursos que funcionam em ambiente de desenvolvimento não funcionam no ambiente de produção

Esse é um tipo de problema muito comum, ainda mais quando se utiliza um ambiente de desenvolvimento diferente do ambiente de produção.

Quando ocorrerem problemas desse tipo, a primeira coisa a se fazer é verificar as configurações do servidor de produção e do ambiente de desenvolvimento para ver se possuem os mesmos módulos instalados.

Uma forma básica e rápida de verificar essas informações é utilizando a função phpinfo(), nativa do PHP, para obter as informações dos módulos instalados em ambos os ambientes. Crie um arquivo na raiz do projeto, chamado info.php e nele coloque o seguinte código:

<?php

phpinfo();

Execute tanto no ambiente de produção quanto no de desenvolvimento e compare os resultados.

#5 – Banco de dados não conecta

Outro erro frequente está relacionado a problemas de conexão com o banco de dados. É comum utilizar “localhost” como o host de conexão ao banco de dados, tanto em ambiente de produção quanto de desenvolvimento. Mas existem casos em que o host do ambiente de desenvolvimento não é “localhost” e sim um domínio específico. Podemos citar exemplos de hosts que não utilizam “localhost” como configuração de host para a conexão:

  • Umbler
  • Locaweb
  • Amazons RDS

Sempre verifique as configurações de conexão com o banco de dados do ambiente de produção, veja se é necessário conceder algum tipo de permissão para que sua aplicação se conecte a ele, ou mesmo se usuário, senha e porta de conexão estão definidos corretamente.

Agora você não precisa ficar se matando quando passar por esses problemas, já sabe o caminho para identificá-los e até mesmo solucioná-los.

Bons estudos!