Summary | [gollem] Class definition of Horde_Vfs_ not found. |
Queue | Gollem |
Queue Version | 3.0.0beta1 |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | jan (at) horde (dot) org |
Requester | max (at) mxnet (dot) co (dot) nz |
Created | 11/22/2012 (4585 days ago) |
Due | |
Updated | 01/03/2013 (4543 days ago) |
Assigned | 11/26/2012 (4581 days ago) |
Resolved | 01/03/2013 (4543 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Resolved
commit 7df8eb4f2ce5a11da16c06bfc1d194dc17e96973
Author: Jan Schneider <jan@horde.org>
Date: Thu Jan 3 12:41:13 2013 +0100
[jan] Fix downloading if backend key doesn't match driver name
(
Bug #11746).gollem/docs/CHANGES | 1 +
gollem/lib/Application.php | 4 +++-
gollem/manager.php | 2 +-
gollem/package.xml | 2 ++
4 files changed, 7 insertions(+), 2 deletions(-)
http://git.horde.org/horde-git/-/commit/7df8eb4f2ce5a11da16c06bfc1d194dc17e96973
the file server. Other than 'smb' as backends, names like 'smb2' is
not allowed and generate the error when clicking the download button:
Class definition of Horde_Vfs_ not found
So, this really stops me from implementing Horde 5 to more systems.
So, I can only keep the horde 4 system.
Hope someone would help.
Thanks.
Kinglok, Fong
I tried a clean install of horde on another server and the test.php
and phpinfo() all pass. All requirements have been met and enabled but
I still receive the error [gollem] Class definition of Horde_Vfs_ not
found. when browsing backends that do NOT have the key name 'ftp' or
'smb'
This works:
$backends['ftp'] = array(
'disabled' => false,
'name' => 'FTP Server',
'driver' => 'ftp',...etc
This DOESN'T work:
$backends['hordeftp'] = array(
'disabled' => false,
'name' => '2ndFTP Server',
'driver' => 'ftp',
...etc
Whenever I use a key that ISN'T 'ftp' or 'smb' I get this in the syslog:
HORDE: [gollem] Invalid backend key "ftp" from client [192.168.0.168]
[pid 31631 on line 234 of "/var/www/horde/gollem/lib/Auth.php"]
different issue.
icon results in a different error (using ftp or smb)
FTP:
Browser:
A fatal error has occurred
Unable to open VFS file.
1. Horde_Registry->callAppMethod()
/var/www/horde/services/download/index.php:33
2. call_user_func_array() /usr/share/php/Horde/Registry.php:1139
3. Gollem_Application->download()
4. Horde_Vfs_Ftp->readStream() /var/www/horde/gollem/lib/Application.php:316
LOG: HORDE: [horde] Unable to open VFS file. [pid 28132 on line 207 of
"/usr/share/php/Horde/Vfs/Ftp.php"]
SMB:
Browser:
A fatal error has occurred
1. Horde_Registry->callAppMethod()
/var/www/horde/services/download/index.php:33
2. call_user_func_array() /usr/share/php/Horde/Registry.php:1139
3. Gollem_Application->download()
4. Horde_Vfs_Smb->readStream() /var/www/horde/gollem/lib/Application.php:316
5. Horde_Vfs_Smb->readFile() /usr/share/php/Horde/Vfs/Smb.php:133
6. Horde_Vfs_Smb->_command() /usr/share/php/Horde/Vfs/Smb.php:113
7. Horde_Vfs_Smb->_execute() /usr/share/php/Horde/Vfs/Smb.php:603
Log: HORDE: [horde] [pid 26032 on line 553 of
"/usr/share/php/Horde/Vfs/Smb.php"]
because Viewing files is different to Save/Download files. It seems
unusual that Download icon in Gollem gives error and using browser to
click filename > Save As - also gives error.
I have now updated to Horde 5.0.2 and also Gollem to 3.0.0RC1 and I
still receive the error. I changed logging and can see a new line
being logged which I don't remember before.
NEW! Nov 28 09:38:53 www HORDE: [gollem] Invalid backend key "ftp"
from client [192.168.0.168] [pid 4286 on line 234 of
"/var/www/horde/gollem/lib/Auth.php"]
Nov 28 09:38:53 www HORDE: [horde] Class definition of Horde_Vfs_ not
found. [pid 4286 on line 43 of "/usr/share/php/Horde/Vfs.php"]
NEW! Nov 28 09:42:26 www HORDE: [gollem] Invalid backend key "smb"
from client [192.168.0.168] [pid 4286 on line 234 of
"/var/www/horde/gollem/lib/Auth.php"]
Nov 28 09:42:26 www HORDE: [horde] Class definition of Horde_Vfs_ not
found. [pid 4286 on line 43 of "/usr/share/php/Horde/Vfs.php"]
So I am getting the same Horde error for either ftp or smb backend but
gollem logging says invalid backend for either
I then started going back in time to the changes I had made and what I
said in the first place.
The differences I had until now from the old Horde 4, I was only using
one backend simply called 'smb'. Since the release of Horde 5 and the
brilliant new interface, I decided to add more backends to other smb
shares and gathered together multiple servers into one nice File
Manager with a list of shares/backends down the side.
It appears that in my backends.local.php if I defined two backend
servers with the same backend key then the last backend would
overwrite the previous one. so I would only end up with one backend
shown in the gollem UI.
here's an example.
$backends['smb-home'] = array(
'disabled' => false,
'name' => 'YOUR HOME FOLDER',
'driver' => 'smb',
'hordeauth' => true,
'params' => array(
'hostspec' => 'debian',
'port' => 139,
'share' => 'homes',
'smbclient' => '/usr/bin/smbclient',
),
);
$backends['smb-public'] = array(
'disabled' => false,
'name' => 'PUBLIC FOLDERS',
'driver' => 'smb',
'hordeauth' => true,
'params' => array(
'hostspec' => 'debian',
'port' => 139,
'share' => 'public',
'smbclient' => '/usr/bin/smbclient',
),
);
If I remove all backends except one and name the backend key simply
'smb' then the download option works like this:
$backends['smb'] = array(
'disabled' => false,
'name' => 'YOUR HOME FOLDER',
'driver' => 'smb',
'hordeauth' => true,
'params' => array(
'hostspec' => 'debian',
'port' => 139,
'share' => 'homes',
'smbclient' => '/usr/bin/smbclient',
),
);
It would appear that if I use any other backend name that is NOT 'ftp'
or 'smb' then it doesn't work. Am I doing something wrong here when
adding multiple backends?
backend key named 'smb' works
backend key named 'ftp' works
backend key names 'sql' works
backend key named 'hordeftp' NOT WORKING (I used this key in the
supplied example that is in the file backends.php)
backend key names 'anythingelse' NOT WORKING.
other browsers, just different behavior.
or because Viewing files is different to Save/Download files. It
seems unusual that Download icon in Gollem gives error and using
browser to click filename > Save As - also gives error.
probably some server side error.
If I click a link to a JPG file it will open without error in a pop-up
I wonder why images can be displayed without problem but all other
files do not work. It's probably completely unrelated.
the file name and the download icons triggers completely different
code paths.
Images work (as do text or HTML files) because they can be displayed
directly by the browser. For other file formats, those are only
displayed by the browser if there is a MIME viewer available for that
MIME type.
New Attachment: Screen Shot 2012-11-27 at 11.12.31 AM.png
consider this scenario:
If I work externally, (connecting to horde via internet)
I am using Internet Explorer for example
If I click a link to a simple text file's filename in Gollem I get a
pop-up window (this is normal)
IE asks to either "Download" or "Open" the text file (this is normal)
If I select "Open" the text file is displayed in the newly opened
pop-up window.
If I select "Save" IE gives error: Internet explorer was not able to
open the internet site" See screenshot.
Is this related to the way Gollem opens files based on the content or
because Viewing files is different to Save/Download files. It seems
unusual that Download icon in Gollem gives error and using browser to
click filename > Save As - also gives error.
New Attachment: Screen Shot 2012-11-27 at 10.50.06 AM.png
here is something interesting:
*When working on internal network (LAN access to horde)*
If I click the link to the filename Gollem opens the file in a pop-up
and this works (if browsing locally and the file is not large) See
attachment.
If I click the download icon, I see the error.
If I click a link to a JPG file it will open without error in a pop-up
*If I am on an external network (internet access to horde)*
If I click the link to the filename Gollem opens the file in a pop-up
but results in a 0kb empty file.
If I click the download icon, I see the error.
If I click a link to a JPG file it will open without error in a pop-up
I wonder why images can be displayed without problem but all other
files do not work. It's probably completely unrelated.
from backends.php a enabled the hordeauth ftp backend and voila....
it works now?
I only use "backends.local.php"
All backends in the file "backends.php" on my system are disabled.
I looked at the line of code you mentioned and it is this:
$be_config = Gollem_Auth::getBackend($backend);
Which looked good. This was also the same as when I installed Horde fresh.
Sadly I'm not very helpful here because I don't know php. This is why
I love Horde - because everything so far has been so simple to install
and configure and has been working perfectly until this little problem.
I saw the "Gollem_Auth" word and thought I could try changing the
backends Auth options in /horde/gollem/config/backends.local.php to
the other options: 'false' and 'full' but they have the same result so
I changed back to 'true' because I then thought it must not be auth
problem.
from backends.php a enabled the hordeauth ftp backend and voila.... it
works now?
what a magic?
New Attachment: Screen Shot 2012-11-27 at 9.53.53 AM.png
I have same version, same error... and I'm able to reproduce. Is
there something that could help to identify where is the problem?
I have just tested on a fresh install of horde on a brand-new VZ
container (Debian 6.0.6) and I get the same error still.
I followed the documents for installing horde found here
http://www.horde.org/apps/groupware/docs/INSTALL
Installed Horde with the Pear Installer
then installed gollem3.0.0beta1 using the pear installer
I still get the error so I can reproduce too in a new installation.
I wonder is this is OpenVZ problem? I will try a physical server.
I have same version, same error... and I'm able to reproduce. Is there
something that could help to identify where is the problem?
Thanks
Petr
appreciate that.
Do you have any suggestion where I could look at finding the problem?
Gollem_Auth::getBackend() on line 45 in lib/Factory/Vfs.php
appreciate that.
Do you have any suggestion where I could look at finding the problem?
State ⇒ Feedback
Priority ⇒ 2. Medium
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ [gollem] Class definition of Horde_Vfs_ not found.
Type ⇒ Bug
Queue ⇒ Gollem
Listing contents works perfectly
Uploading files works perfectly
clicking on the download icon for any file results in the following error:
1. Horde_Registry->callAppMethod()
/var/www/horde/services/download/index.php:33
2. call_user_func_array() /usr/share/php/Horde/Registry.php:1139
3. Gollem_Application->download()
4. Gollem_Factory_Vfs->create() /var/www/horde/gollem/lib/Application.php:312
5. Horde_Vfs::factory() /var/www/horde/gollem/lib/Factory/Vfs.php:6
Same result with FTP backend.