hola:
Sobre el warning que te devuelve la funcion, no te se comentar que puede ser, tal vez encuentres respuesta documentandote en
http://php.net/manual/es/function.mcrypt-create-iv.php
Sobre la @ delante de una función se utiliza para silenciar en pantalla los posibles errores que devuelva la funcion.
Un saludo.