Uploader form: Retrieval of config yields empty response!

linux
apache
php70
chrome

#1

Package type: Community Edition
Server OS: Debian Jessie
Pydio version: Pydio 8.0.2
PHP Version: I tried 5.6.35, 7.0.29 and 7.1.16
Webserver: Apache 2.4.10

Hello,

I have a problem with a Pydio installation. It began when user complained, that uploads aren’t working because the “files are too big”.

I investigated and found out, that when I set a breakpoint in plugins\uploader.html\js\build\UploaderModel.js at line 151 (“var queryString = undefined;”) I can see, that the variable maxUpload contains 0.
It’s because the request to index.php with the parameters

get_action: apply_check_hook
file: /testfolder/testfile.jpg
hook_name: before_create
hook_arg: 50178
secure_token: …

yields an empty resonse!!
This prevents any file from being uploaded.

Then I checked the settings at Application Parameters->Uploaders and it also says 0!

I then checked the database table “ajaxp_plugins_configs”, row “core.uploader”, downloaded the blob, and looked at it with a text editor.
It contains the last value I entered, alright!

(I cleard the plugins cache and deleted the *ser files multiple times… no luck.)

So it seems to me, that the retrieval of the config via JavaScript is broken. I even tried a fresh install reusing the old database, because I thought, that maybe my installation was somehow broken.

I’m using Docker and I created a fresh Dockerfile that uses the php:7.1-apache image. In this I install all PHP related dependencies, enable the Apache modules, mount some SMB shares locally, download Pydio, extract and move it to the html folder, add my configs and that’s it.
I can share the Dockerfile and configs if it helps.

In the meantime I fixed it by adding a new line below the “var maxUpload = …” line reading
“var maxUpload = 16*1024*1024*1024;”
which is a total hack. I’d rather fix the AJAX issues at hand, so that the settings are displayed again correctly, etc.

I also noticed this behaviour in other places, where you set a value, it gets accepted, but it doesn’t show in the UI… I don’t remember where else.

Can someone point me into the direction of a solution, please?

All the best,
Chris


#2

I just tried a completely fresh install with a fresh database.

After logging in for the first time I get the sam error as above: An empty response and the inability to upload anything.

Chris


#3

I created a GitHub repository where you can see how I install Pydio 8.0.2:

Just look at https://github.com/Chrisly3ear/pydio_upload_problem/blob/master/php7-apache/Dockerfile to get an idea how I install a vanilla copy of Pydio CE.

Chris


#4

Hi,
could you put output_buffering to off in the php.ini file.


#5

Hi zayn,

I just tried that according to your suggestion.

After building the images, starting up and stepping through the install wizard I tried to upload a textfile (1-2KB).
Sadly the problem is still there. “File too big.”

Chris


#6

Hi,
yeah the issue seems weird, you see if php is using the right ini file by using php -i you can also add grep output_buffering upload_max_size and such to see if it’s registered.


#7

Hi zayn,

Thanks for your reply!

After starting up with the revised php.ini file, I created a “phpinfo()” file to see if the config registers. It does. The upload_max_filesize is set to my desired value of 8G and the output_buffering is set to no value as you can see from the following screenshot:

I still get the error just like before :disappointed_relieved:

Do you have any other idea why there’s a problem?

Chris

P.S.: I have to leave for today, I’ll check back to this thread tomorrow. I think I’ll try 8.0.0 or 8.0.1 to see if the problem lies within 8.0.2.


#8

I now stripped down my php.ini to only neccessary settings.

My virtual host configuration is also pretty much bare bones (see https://github.com/Chrisly3ear/pydio_upload_problem/blob/master/php7-apache/pydio.conf - most lines are commented out)

The database starts from scratch and pydio is being installed completely “vanilla”. There still aren’t any uploads possible.

Has anyone any idea? Are there incompatible Apache modules, PHP modules, that I need to deactivate? Ar there modules missing?

Here you can see the PHP modules I use (ldap, iconv, mcrypt, gd, pdo_mysql and mysqli)

And here’s a list of the enabled Apache modules:

Does anything catch someones eye?

Chris


#9

Hi,
your issue is weird, maybe you could try my docker of Pydio 8.0.2 here’s the git link and tell me if you have the same error, it could be an apache mod.

ps : i did not finished it yet, but i think you could use the dockerfile to build yourself an image.


#10

Hey zayn,

Thank you! I will definitely try it and compare it to my image or even use your solution.

I will report back when I had time to try it.

Chris


#11

Hello @zayn,

I had the time to try your images and built them from scratch. Both are working and the error doesn’t present itself!

I don’t know what I’m doing differently, but I think I’ll just base my image on your Dockerfile, if you’re OK with this.
I think it’s totally weird, that the official docker PHP image has problems, but a custom image hasn’t!?

All the best,
Chris


#12

Hi,
of course you can use my Dockerfile do as you wish.