Are there any other settings besides php.ini to allow file upload? I have a problem with drupal upload file (core module) bigger than 1 MB. For images smaller than this, the upload run smoothly, the progress bar correctly shows the progress and when completed it display the uploaded images as expected.

However, when I tried to upload image bigger than 900 kb, the problem start to arise. The throbber progress indicator show progress until about 98% and then restart again from 0% and never completed and stuck.  

In Firebugs it shows that the request was aborted when the progress reach 94%-98% depending on the size images I uploaded. And it only happend when the file > about 900 kB and never for smaller images.

I already changed the php.ini as suggested here and I verified through phpinfo() it is correct setting. I also change the max_input_time and max_execution_time in httpd.conf

In fact, when uploading images, I monitor temporary folder /tmp and it shows temporary file progressing from 0 to the size of the file and restarting from 0 again. Thus, it indeed receive the file, no issue on the size of the file.

I also check the permission, 777 on /tmp and 755 on default/files and it is no problem as I can easily upload 500kb images.

Can anyone help? is there any other settings in the server I have to look into?

Thanks
Please read through this documentation:
https://www.drupal.org/node/97193

Depending on your HTML form and server configuration if you have a 1MB filesize limit; uploaded files close to your maximum filesize may not successfully upload to a webserver because a file is sent as apart of a multi-part HTTP transmission.

You want to assure post_max_size is typicaly 2x or 3x larger than your upload_max_filesize. Brief discussion on this can be found here:
https://stackoverflow.com/a/15077229/1491507

Googling PHP maximum post size and file sizes should lead to similar documentation on php.net and other resources.