I have pecl upload progress installed and seemingly working. I say seemingly because I don’t see the actual progress, i.e., 25 mb of 50 mb. I only see what’s in the attached file and nothing else. What can be wrong and how can I get the bar to display the progress? Thanks.

Comments

quicksketch’s picture

First, check your status report at 'admin/status/report' and see if FileField is reporting that upload progress is working. It should provide instructions if there are any missing requirements.

azwildcat’s picture

StatusFileSize
new10.67 KB

I’ve done everything I read about—placed the php_uploadprogress.dll file in C:\xampp\php\ext\ then added the line extension=php_uploadprogress.dll in php.ini and finally restarted the web server. In the report, it shows that PECL is enabled. Yet, I still don’t see the actual “progress.”

vinmassaro’s picture

StatusFileSize
new7.51 KB

I am having this problem as well. Had my shared host (Hostgator) install it, and the Drupal status report page shows it as enabled. Currently, all I see is the "Please wait..." message in the attached image.

vinmassaro’s picture

Just wanted to post back that this is working for me with Filefield fields. The screenshot I posted was using the default drupal upload field, so it did not display.

azwildcat’s picture

I have it running from FileFields also, yet I still don't see the "progress."

tirdadc’s picture

I also have this issue with the core upload "File attachments" field: even though the status report says that upload progress is enabled (PECL uploadprogress), I just get the "Please waiting..." and no actual progress on the bar.

joelstein’s picture

Component: Miscellaneous » User interface
Category: support » bug
StatusFileSize
new16.16 KB
new15.67 KB
new15.67 KB

I have FileFields and PECL uploadprogress installed, and my status report looks okay, but when I upload, all I see is "Starting upload..." with the diagonal lines scrolling, but nothing else. No progress is being reported. See the attached screenshots for more information.

joelstein’s picture

After a little more troubleshooting, it appears that it may be a Safari issue. When I test uploads through this site (which also uses uploadprogress), I have trouble with certain files on Safari. But, if I upload those same files with Firefox, it works fine. On my server, if I upload with Firefox, it works as expected. Must be a Safari issue?

azwildcat’s picture

StatusFileSize
new45.7 KB
new46.6 KB
new18.11 KB
new30.5 KB
new35.7 KB
new32.62 KB
new27.81 KB

Regardless of which browser I use to upload images and videos, I still don’t see the actual “progress.” Clearly, I have Filefield working and PECL enabled as shown in the attachments. However, it doesn’t seem to work no matter what I do. I just can’t figure out what’s wrong.

elijah lynn’s picture

I have also been having this issue. It is browser agnostic. My status report shows as those above as well as the screenshots of the null status so I don't think I need to upload duplicates. It has been that way ever since I have used Drupal. I have finally had the motivation to investigate but it has been that way for the past year.

Would be awesome to get this working! Especially with Insert, Image Resize Filter & ImageField Crop!! That would be one amazing solution!

Update: I forgot to mention that it works on the bottom left status area of Chrome, but not the actual upload progress bar widget, that just hangs. @azwildcat - Can you look at the Chrome status area and see if it works for you there?

quicksketch’s picture

Just a note about uploadprogress, check the bug queue for uploadprogress. The most important thing to note is that if you are using FastCGI, IIS, or Lighttpd upload progress simply will not work, even though it shows up in phpinfo(). The status report does its best to determine if Apache is not set up correctly but is not fool-proof and may report a false positive.

ar-jan’s picture

I'm having this problem as well.
- admin/status/report says UploadProgress is installed
- When I upload something, I get the diagonal scrolling lines
- PHP is running in CGI mode, not FastCGI, so it should be working?

Only caveat is that I haven't installed uploadprogress the regular way. I'm on shared hosting, and the host will not enable uploadprogress via extension_dir and php.ini. So I compiled it, and am now calling it through a custom module in hook_boot with the dl() function. Could dl(../../../path/to/uploadprogress.so) criple the functionality?

quicksketch’s picture

PHP is running in CGI mode

Upload progress only works if you're running in mod_php mode (as a native Apache extension). As far as I know, you cannot dynamically load this library and have it work.

azwildcat’s picture

I really want to get this to work because it’s a neat tool and eye-catching—much better than the throbber. What’s going on here and how can I get the upload status bar to function properly?

ManyNancy’s picture

Are you running php with mod_php?

gpk’s picture

Just to confirm that I'm also having the same issue as originally reported with identical symptoms, i.e. I get the progress bar and it says "Starting upload..." but that's as far as it gets (the upload itself works fine).

PHP is running as Apache module, uploadprogress shows fine in phpinfo and on the Drupal status report page.

Must be some issue with shared hosting, my host is very responsive but not quite sure which direction to point him in! (BTW I'm actually using filefield 6.x-3.1 but that seems to make no difference .. I suspect the problem is to do with installation/configuration of uploadprogress rather than filefield itself.)

gpk’s picture

Category: bug » support

Confirmed that this is an issue with uploadprogress installation.

If you go to http://svn.php.net/viewvc/pecl/uploadprogress/trunk/examples/ you can grab the source of a simple example to test the extension. Save the 3 PHP files somewhere on your server (use the Download link) and point your browser to the index.php file.

Upload a file ... during the upload I got a message that occasionally updated itself saying:

Download started since 8.263 seconds. No progress info yet

At the end of the upload I got message with red background:

Upload succeeded, it took 30.656 seconds.
BUT there were no progress meter updates
Your upload should have taken long enough to have an progress update. Maybe it really does not work...

Will set my host on to this!

quicksketch’s picture

Thanks gpk! Yes I'm absolutely positive that the current FileField release does produce an upload progress bar when installed under mod_php as an Apache extension and the uploadprogress PECL extension is installed properly (since I use this on multiple sites). Good to know that uploadprogress can be pseudo-installed where it looks like it might work but yet doesn't operate properly.

gpk’s picture

My host has tried the bundled example and it doesn't work for him either. He's tried one or two things but can't see to get it to work at all.

After a big more digging it looks like the culprit is mod_security2, which is enabled on my server. See http://pecl.php.net/bugs/bug.php?id=16954.

anantagati’s picture

I have/had same problem.

In my case it seems that problem makes our firewall as when I connect before firewall it uploads nicely, but when I am after firewall, it just doesn't do anything.

gpk’s picture

Update to #19: with mod_security2, it's not possible to turn off the SecRequestBodyAccess directive via .htaccess...

Related: #450388: Upload Error : 404 when using swfupload.

[update] Seems this is a common problem with upload progress indicators that rely on monitoring the progress at the server end. See for example http://sourceforge.net/projects/uber-uploader/forums/forum/497768/topic/.... mod_security2 (and mod_security) buffer the POST hence progress info is not available.

Interestingly, Google Chrome browser does give you a % complete indication in the status bar, presumably because it can work out how much of the file has been sent. There are also some Flash file uploaders that appear to do something similar, but I've not found any pure JS uploaders that do this.

I also saw a comment that a future version of mod_security2 might stream the file as well as scan it instead of just buffering it. No idea when this might happen though... update: found it, looks like it's not scheduled till version 3 so may be a while. https://www.modsecurity.org/tracker/browse/MODSEC-17. Also in version 3 there is a proposal to allow more control via .htaccess which could provide another resolution (i.e. ability to easily set SecRequestBodyAccess Off). https://www.modsecurity.org/tracker/browse/MODSEC-58

Sorry to clutter this issue with all this info but I suspect this will affect a large number of shared hosts

gpk’s picture

A workaround for cPanel-based shared hosts that use mod_security2: my host reports "cPanel makes it pretty easy to include extra directives via Include files in VirtualHosts.", so it's just a matter of setting SecRequestBodyAccess Off using this method. Fortunately my host is very helpful over things like this.

shariharan’s picture

I have the same issue ..

quicksketch’s picture

francewhoa’s picture

I wrote a how-to handbook for Ubuntu at http://drupal.org/node/793262

Other OS at http://drupal.org/node/793264

quicksketch’s picture

Status: Active » Closed (fixed)
robert.redl@easytouch.cc’s picture

I played too much around and wanted to satisfy all status messages of Drupal.
Now i disabled apc.rfc1867 = 1 in php.ini and the upload progess bar works
even with multiple fields at the same time. (Ubuntu 8.04 server, PHP 5.2.9, Apache2, Drupal 6.19)

[PHP]
;apc.rfc1867 = 1
extension=uploadprogress.so
dafeder’s picture

I'm getting this problem, but only on certain files. I have an XML file I'm trying to upload that gives me no progress, even if I change the extension to EXE. But a real EXE file works. Any suggestions? Thanks.

David Latapie’s picture

I read http://drupal.org/comment/reply/491228/3435434.

I have the same "non-issue" and my hosting company (HostGator, great 24/7 chat support, BTW) also uses suPHP.

So I guess something must be done either from suPHP (change identification) or Drupal 7 (properly recognize suPHP) at code level.

Daeluin’s picture

FWIW, I've always been told suPHP breaks uploadprogress, despite being able to do the PECL install successfully. No, it never worked. But I just found out that when I disable mod_security2 it DOES work. Even with suPHP. Sigh.

http://pecl.php.net/bugs/bug.php?id=16954

As mentioned above, setting SecRequestBodyAccess Off is a workaround, but it's my understanding that one of the largest benefits of mod_security is this buffering of all POST data. Doesn't disabling this basically disable most of modsec?

Also, if you ever wondered why all files get buffered into /tmp despite setting a different php upload_tmp_dir, mod_security again.

dave_______1’s picture

Issue tags: +Apache, +cpanel, +uploadprogress, +suPHP, +DSO, +WHM, +CSF, +mod_security

Hi Everyone,

I've just put a new server together using cPanel/WHM with CSF.
I've moved some of my sites from an old server to the new server and the sites on the new server says the uploadprogress is not installed, even though it is.

After rebuilding apache and php around 10 times and plying with some of the settings I found (as some of the comments above say) to get uploadprogress working I simply set the php handler from suPHP to DSO.

After more testing I found suPHP speeds up some of my sites by a half and after reading around the web I have found suPHP is more secure and faster but uses more memory.

Now, I've read @Daeluin says and there may be a way to get uploadprogress working by disabling mod_security and using suPHP.

Has anyone got suPHP working with uploadprogress by disabling mod_security?

Thanks
Dave

Edit - Sorry about the above tags, I can't seem to delete them once they are in!

Prapot’s picture

Version: 6.x-3.2 » 6.x-3.x-dev
Assigned: Unassigned » Prapot
Priority: Normal » Critical
Status: Closed (fixed) » Active

I installed drupal 7.

This is my problem 'Your server is not capable of displaying file upload progress. File upload progress requires an Apache server running PHP with mod_php.', and I can't add logo or any image to my appearance

This is information of my server
System Windows NT PORAR-INET-69 6.0 build 6002
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared" "--without-pi3web"
Server API CGI/FastCGI
Virtual Directory Support disabled
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps, zip, compress.bzip2, public, temporary
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls
Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*, bzip2.*

What do I have to say to my server? Do I must to change Windows NT to Linux?

Please forgive me if my language is not well.

quicksketch’s picture

Assigned: Prapot » Unassigned
Priority: Critical » Normal
Status: Active » Closed (fixed)

Server API CGI/FastCGI
...
Do I must to change Windows NT to Linux?

It doesn't matter what platform you use, it just matters that you're using FastCGI instead of mod_php. See my post in #11 and #13.

Prapot’s picture

Thank you very much for your suggestion.

meridiandigital’s picture

Issue tags: +php.ini

Just as with #27, all I needed to do was manually add the extension to php.ini.

kroimpa’s picture

I got the progress-bar working somewhat, be sure to test different filetypes and siezes.

The progress bar doest like file sizes above 1GB (as far as i can tell), uploading a 985MB file goes without problems, anything over 1024MB and the bar wont show any progress.

Is there any way to make the bar work for large files also? Or am i looking at configuration problem on my side?

tebb’s picture

In general then, are we waiting for UploadProgress to be improved to work under various configurations, or are there fundamental reasons why this will never work in those configurations?

tbogard’s picture

The first topic was opened on June 14, 2009 at 9:44am, and this thread was opened on November of 2009, THIS IS THE DUPLICATED CONTENT!

the original thread is here or here : #491228: Progress bar does not make progress

brazorf’s picture

I had the progress bar showing, with no actual progress info (just the gray lines blinkin), both with APC or PECL implementation (status report stated Drupal was capable for upload progress info).

#21 worked for me.
My server is in housing so i am lucky and allowed to access apache configuration. Setting
SecRequestBodyAccess Off
in the mod_security2 configuration solved the whole thing.

yngens’s picture

quicksketch marked the other thread marking it as a duplicate of this one: http://drupal.org/node/491228#comment-2729492 At the same time tbogard marked this one as a duplicate of the other one and also closed the thread. Now both threads are closed, this one even is marked fixed, whereas the issue is still there and not fixed at all. What about those who don't use mod_security2 and still are getting the error?

This issues is actual only for Ubuntu machines with suPHP, CentOS with uploadprogress and fast-cgi work just fine.

rbrownell’s picture

Status: Closed (fixed) » Active

A couple of months later... I have successfully installed uploadprogress to my server and have successfully tested it using the test files found at PECL as per the instructions on http://drupal.org/node/1074160 (which yes, I wrote the test instructions). What is left to configure? Is this a Drupal bug or what?

EDIT: Apparently secure servers also have an issue with it https:// won't work with this.

jmagunia’s picture

Issue summary: View changes

@rbrownell, try checking the FileField instance settings. There is an option to set a throbber or progress bar.

I think the default is set to throbber.

wmnnd’s picture

Hello there,

I have created a little module that uses client-side JavaScript instead of server-side code to display the progress. This will finally bring upload progress to more "exotic" server configurations :-)

If you like, you can try and review it here: https://www.drupal.org/node/2402147

nickdickinsonwilde’s picture

Anyone looking for the PECL example files for testing, they can be found in the PECL git repository (as they switched from SVN to GIT).

pwolanin’s picture

Status: Active » Closed (fixed)
sime’s picture

clientside_validation module can break pecl upload progress. They say it's only jquery 1.5, but I have just had this with 1.4.4.

francewhoa’s picture

We struggled for months trying to display the progress status using PECL uploadprogress. In our case it turns out the source of the challenge was that the server-side versions, packages, and libraries were too old. As a result they do not support PECL upload progress minimum requirements.

Until that server is upgraded, to resolve this challenge we found a fantastic alternative. PECL uploadprogress is great. But in some cases and for newcomers it might be challenging to install and configure. Mostly because it depends on server-side libraries and configuration. If you prefer a client-side upload progress, you might be interested in this File Resumable Upload (file_resup) module. The benefits are:

  • Easy installation. Because no dependencies, except Drupal core File itself, and no libraries.
  • Bypass PHP's upload limits
  • Works with both 32bit and 64 bit servers
  • Allows to upload large files (over 2 GB)

Thanks to Brad for his discovery