Como posso depurar PHP sem alterar o php.ini?
Por predefinição, a apresentação de erros de PHP está desativada no php.ini. É uma definição desejável, porque a informação de depuração revela muitas vezes dados que não se destinam ao público. Mas, se tiver erros, dá jeito ativá-la temporariamente. Isso pode ser feito com definições de sessão. Colocando o código abaixo no programa (ou no programa principal index.php), pode capturar os erros:
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
error_reporting(E_ALL);
Tenha em atenção que os erros não são mostrados se o error reporting for ativado no mesmo script onde está o erro. Nesse caso, é melhor criar um novo script, ativar aí o error reporting e depois incluir o script antigo. Em alternativa, também pode ativar o error reporting no .htaccess.
