Configurations

As the title states, I've installed the module under 3 system configurations :

  • Debian 6 / PHP 5.3 / Virtualmin on a private server
  • Ubuntu 10.04 LTS / PHP 5.3 on a development workstation
  • Ubuntu 12.04 LTS / PHP 5.4 on a development workstation

Installation

Downloadprogress beind installed by PECL, the first step is to install pecl. In both distributions it's included in the php-pear package. So :
sudo apt-get install php-pear

In the two operational configurations, the package was already installed ; as a basic component in the Ubuntu WS and as part of Virtualmin auto-installation on the Debian server.

At this stage, pecl is installed but it will need to compile the downloadprogress module as a step of the installation process. So more resources are needed before pecl can be invoked.
sudo apt-get install php5-dev

Accept the required dependeces and let apt-get do it's job.

Ubuntu 12.04 (LTS): build-essential is another required package, otherwise the install will fail:

sudo apt-get install build-essential

Then pecl can be invoked :
sudo pecl install uploadprogress

Ubuntu 14.04 (LTS): You will need to install uploadprogress with the -Z otherwise it will fail to install:

sudo pecl install -Z uploadprogress

The module is installed but won't be loaded when php is run. The php ".ini" configuration files has to be properly set. The Debian (and Ubuntu) way to do it clean is to add a module dedicated ini file in the /etc/php5/apache2/conf.d directory (do not touch php.ini file). Use your favorite text editor...
sudo nano /etc/php5/apache2/conf.d/uploadprogress.ini

and insert the following two lines :

; activate and configurate for php uploadprogress module
extension=uploadprogress.so
Ubuntu 14.04 (LTS): insert the above two lines:
sudo nano /etc/php5/mods-available/uploadprogress.ini

And make a symbolic link:

sudo php5enmod uploadprogress

or

sudo ln -s /etc/php5/mods-available/uploadprogress.ini /etc/php5/apache2/conf.d/20-uploadprogress.ini

Apache needs to be restarted in order to take this new configuration file into account :
sudo service apache2 restart

The uploadprogress module should be available for your PHP applications...

Installing dev packages on a WS is very common but it's not appropriate on a server. So, on the Debian Virtualmin powered server :
sudo apt-get remove php5-dev

It works in both environments. On the Ubuntu WS php is running as a apache module with apache user's rights (www-data). On Debian-Webmin php is running as fastcgi with site's user's rights.

Comments

matsjacobsson’s picture

Thanks, works perfect on Lucid! :)
/Mats

xcr42’s picture

... works on the fly on Ubuntu 10.04. Thks!

iyan’s picture

Although this manual intended to Ubuntu, apparently it works well with Fedora 17 too. Thanks!

philalonso’s picture

Thanks for the great instructions! Worked perfectly on clean Ubuntu 12.04 LTS install.

AlfTheCat’s picture

Please note that if your terminal says:

sh: make: not found

that you have to run:
sudo apt-get install make before your run sudo pecl install uploadprogress
As was the case for me on debian 6.

----
"People make mistakes. To really mess something up you need a computer."

titouille’s picture

Works on ubuntu saucy (13.10) too.

ItangSanjana’s picture

FYI. Work under Ubuntu 14.04 LTS too.

iryston’s picture

The better way on Ubuntu 14.04 is to place a module dedicated ini file in the /etc/php5/mods-available directory:
sudo nano /etc/php5/mods-available/uploadprogress.ini
And make a symbolic link:
sudo ln -s /etc/php5/mods-available/uploadprogress.ini /etc/php5/apache2/conf.d/20-uploadprogress.ini

ItangSanjana’s picture

I was not aware about this. Do we need to re-install? Thanks for the info!

iryston’s picture

Since Ubuntu 14.04 has updated version of PHP there has been a slight change in directory structure.
There is conf.d per sapi to make it possible to enable/disable mod/extension per sapi.

thanasis57’s picture

On Ununtu 12.04 / Drupal 7.31, I carried out the instructions and the message in the Status Report changed to:

Upload progress Enabled (PECL uploadprogress)

However, I see no progress bar when, e.g., I upload images to a new article.

Is there some additional step required, or is there some bug?

coolman7’s picture

I have same problem. Everything seems to be ok. But no upload progress bar is shown.

ItangSanjana’s picture

Make sure you have adjusted the field settings.

Progress indicator
  Throbber
  Bar with progress meter
The throbber display does not show the status of uploads but takes up less space. The progress bar is helpful for monitoring progress on large uploads.
thanasis57’s picture

Can you give some more details? Where is that setting?

Thanks in advance.

ItangSanjana’s picture

Normaly, it is at the very bottom of it's settings fieldset, e.g. visit admin/structure/types/manage/article/fields/field_image. HTH

thanasis57’s picture

YES!

For this option to appear, however, the "Image" field must have the "Image" widget selected (not the "Media file selector").

Then, as iS said, go to each content type and edit the option "Process indicator" of each Image field for which you want the progress bar to appear. In my case the progress bar appeared correctly.

Thanks for the tip!

nofue’s picture

To make this work, I had to copy the symlink to the /etc/php5/cli/conf.d and /etc/php5/cgi/conf.d directories as well -- if it existed in /etc/php5/apache2/conf.d it didn't show up in the list of loaded Apache extensions.

Norbert

-- form follows function

ScottProck’s picture

I have tripple checked my installation and everything should be working just fine.

I even ran a php info page to see what's up and I'm showing that Upload Progress is active (see screenshot) but my Drupal status page still shows that it is not enabled.

Any tips, or troubleshooting would be great, Thanks ... Scott

https://dl.dropboxusercontent.com/u/57162272/phpinfo__.png

DRIVE’s picture

Somewhere along the line uploadprogress was installed or came with the Pear package for PHP5 on Ubuntu 14.04LTS but it wasn't installed properly.

I had to "sudo uninstall uploadprogress" which uninstalled and also noted that "uploadprogress.ini" could not be removed. So I left it there and then ran "sudo pecl install -Z uploadprogress" which ran the install with no errors.

Afterwards I ran "sudo service apache2 restart", ran Drupal Status report and it reported it was installed.

Then I went to my content types and selected progress bar for file and media fields.

Primal Fear: Strike (https://www.youtube.com/watch?v=Vf1N8aE6mwg)