Uploading a large joomla extension package can often run into difficulties due to php's upload_max_filesize and post_max_size being too small. (The php default is 2MB.)
Joomla already has some functionality in com_media to report issues, but it does not currently have any functionality to use php's ini_set to overide the defaults.
It would be nice if Joomla provided a Global Configuration / Server setting to display the current upload_max_filesize and post_max_size settings and to allow you to set override values that will be applied globally to the Joomla site.
It would also be nice if the Administrator / Extensions / Install functionality overrode the settings in order to avoid any difficulties uploading large files.
The two suggestions above would enable Joomla administrators:
Status | New | ⇒ | Information Required |
A little research suggests that this is true. Which means:
For global settings, Joomla would need to maintain the settings in php.ini so that they are set before every transaction runs.
For uploading extension packages a chunked ajax approach would need to be used.
Depending on your hoster, you may or may not be able to use custom php.ini files, but it's certainly not something Joomla can or should modify.
I'm not savvy enough with file uploads to know if that would bipass the limits by the server. Maybe you just hit another server limit this way. Maybe others know.
An ajax driven uploader with a progress bar would for sure be a nice addition for UX, even if it wouldn't bipass the limitations.
Best way is for sure to contact the hoster so he raises the limits.
There is another way: uploading files in chunks (AJAX driven). We discussed this for the new media manager but still not implemented
I don't think that Joomla should modify the php.ini file autonomously, only by a conscious deliberate action by an administrator, like setting and override value in Global Configuration.
But providing it is done as a consequence of an administrator action, and Joomla is clear with the administrator what it is doing and what the implications are, I don't see this as a problem.
P.S. A little research on google suggests that there are open source solutions out there for ajax chunked uploads that might be utilised.
I don't think that Joomla should modify the php.ini file autonomously, only by a conscious deliberate action by an administrator, like setting and override value in Global Configuration.
I wouldn't go that way since that would depened heavily on the hoster if it works or not and chances are that you wreak havoc with a single button click. That's not goign to work out well
better just point them to a doc page explaining the problem and possible solutions.
P.S. A little research on google suggests that there are open source solutions out there for ajax chunked uploads that might be utilised.
There are many such JavaScript AJAX uploader available.
I use for example http://www.plupload.com/ myself for my extension but don't use the chunking feature of it. They have also a PHP class to deal with the file parts on the server side.
Maybe that can be used or maybe better solutions exist.
We discussed this for the new media manager but still not implemented
It shouldn't be something done by the new media manager anyway. It should be a global solution for the entire CMS. Especially also for extension installers and easily useable by 3rd parties. Of course MM would also use it.
We cant override the php settings and nor should we. They are a server setting and we shouldnt be touching those
We do already display the maximum upload size on all upload screens (or we should be - maybe there are some places missing)
If this Issue get no Response, it will be closed at 28th February 2018.
Status | Information Required | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-01-27 09:17:53 |
Closed_By | ⇒ | Sophist-UK |
I think it has reached a conclusion anyway, so I will close it.
To my knowledge, both settings can't be overriden during runtime using
ini_set
. See http://php.net/manual/en/ini.list.php.You have to set those on the server side.