Hi,
Yes, PHP might not be the most appropriate to send large file.
For example, HikaShop is using "filesize" (like Joomla).
php.net/manual/en/function.filesize.php
Note: Because PHP's integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results for files which are larger than 2GB.
So if you have a "500 Internarl Server Error" ; you should be able to see more details in your server log (and your PHP error log).
I suspect that some other functions in PHP for files are not perfect for large files (> 2GB)
I will recommend you to use the x-send-file method.
It will be less CPU/Memory consuming and it will be easier for the server to handle the large files.
Regards,