To upload a large sized file more than 2G in PHP, the OS must be based in 64bits instead of 32bits, and you should change some settings in /etc/php.ini and LimitRequestBody=0 in httpd.conf or virtualhost
In the /etc/php.ini, you should change some values like
Note that 3600 is for user to have 60mins time when uploading files to server. Its default timeout value is 30 secs in PHP that is why uploading fails every time - meaning uploading fails by that timeout limit, so you will need to change its value like above example.
And one more a action you should do is adding LimitRequestBody 0 to your httpd.conf. In my case, I just added to vhost like below:
Or you can simply put below values at .htaccess that located on the root of the PHP-based web site.