da chi e' gestito l'error.log che citi? Se e' gestito da apache o mysql e' naturale che tu non possa cancellarlo. E' tenuto aperto proprio dall'applicativo. Oppure l'utente 'apache/php' non ha diritto di scrittura su quel file.

Usa la logica. Se un file NON lo puo' cancellare, togliendo il warning non e' che lo cancella. NON lo cancella e non lo dice. Meglio rivedere lo script ed evitare di fare una cosa non concessa oppure fare in modo che la possa fare.

Come hai fatto va bene. Metti @ davanti ad unlink() e poi gestisci tu l'errore. Ma l'errore si deve presumere casuale e non una costante .....

per quanto riguarda il settaggio del php.ini dipende da chi e come viene gestito il server. Puoi scrivere gli errori su un file di log e controllare ciclicamente che succede. Non stampare a video gli errori serve sopratutto per impedire che info sensibili come: nome di variabili, tabelle, campi, costanti e quant'altro divengano di pubblico dominio. E poi esteticamente e professionalmente sparare a video errori non e' molto bello.

Le possibilita' sono molteplici, e non mi sento di dire fai cosi' che e' giusto. Fai come puoi nell'ambito della gestione e responsabilita' sul server. Di certo e' che non puoi consegnare un lavoro ed abbandonarlo a se stesso. Qualcuno dovra' gestirlo. Se e' un provider ISP ci pensera' lui al sistema.