Muchas directivas de PHP no se pueden alterar por ini_set() .. (sólo las que digan "PHP_INI_ALL" o "PHP_INI_USER").
http://www.php.net/manual/en/ini.php#ini.list
Modifica esos valores en tu php.ini y cuando lo hagas verifica que quedaron actualizados haciendo un phpinfo()
También usas un @ por ahí en una función .. Si tienes problemas lo primero que debes hacer siempre es NO usarla ..por qué así ocultas posibles mensajes de error que puedas tener (aunque no sea este el caso, no tienes que descartar posibilidades).
Un saludo,