Aviso de PHP destrói resposta JSON
Estou implementando um ajax fileupload para meu aplicativo php (usando CodeIgniter).
Detecto se os dados POST enviados são grandes (> post_max_size) de acordo comhttp://andrewcurioso.com/2010/06/detecting-file-size-overflow-in-php/ e tente enviar uma resposta de erro codificada em JSON apropriada.
Mas o aviso correspondente do php incluído na saída destrói completamente minha resposta JSON!
<br />
<b>Warning</b>: POST Content-Length of 105906405 bytes exceeds the limit of 8388608 bytes in <b>Unknown</b> on line <b>0</b><br />
[{"error":"Posted data is too large. 105906405 bytes exceeds the maximum size of 8388608 bytes."}]
Eu não quero analisar e filtrar o aviso no lado do cliente, isso parece feio. E desabilitar todos os avisos do php globalmente parece inadequado.
Posso desativar avisos específicos do PHP no contexto de uma função php? Ou envolvê-lo dentro de uma resposta json válida?