6.0.0-alpha12
6/12/25

[#11746] [gollem] Class definition of Horde_Vfs_ not found.
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

History
01/03/2013 11:41:34 AM Jan Schneider Assigned to Jan Schneider
State ⇒ Resolved
 
01/03/2013 11:41:27 AM Git Commit Comment #20 Reply to this comment
Changes have been made in Git (master):

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
12/29/2012 03:13:28 PM busywater (at) gmail (dot) com Comment #19 Reply to this comment
Also, in my situation, I need to map two drives through gollem from 
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

[Show Quoted Text - 25 lines]
11/29/2012 10:47:29 PM max (at) mxnet (dot) co (dot) nz Comment #18 Reply to this comment
Update to this.

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"]
11/28/2012 02:17:13 AM max (at) mxnet (dot) co (dot) nz Comment #17 Reply to this comment
I have opened a new ticket for the following as I think it's a 
different issue.

[Show Quoted Text - 29 lines]
11/27/2012 10:59:41 PM max (at) mxnet (dot) co (dot) nz Comment #16 Reply to this comment

[Show Quoted Text - 10 lines]
Trying to download any files that contain spaces with the download 
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"]
11/27/2012 09:10:18 PM max (at) mxnet (dot) co (dot) nz Comment #15 Reply to this comment
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.
Many thanks for clearing this information up. I appreciate all your help.

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.
11/27/2012 11:39:53 AM Jan Schneider Comment #14 Reply to this comment

[Show Quoted Text - 12 lines]
This is exactly the same like getting zero file length downloads in 
other browsers, just different behavior.
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.
11/27/2012 11:38:48 AM Jan Schneider Comment #13 Reply to this comment

[Show Quoted Text - 11 lines]
Check the logs when this happens. It might be unrelated, but this is 
probably some server side error.
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.
It's indeed probably unrelated to the original issue because clicking 
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.
11/26/2012 10:15:47 PM max (at) mxnet (dot) co (dot) nz Comment #12
New Attachment: Screen Shot 2012-11-27 at 11.12.31 AM.png Download
Reply to this comment
This is even more interesting:
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.


11/26/2012 09:58:33 PM max (at) mxnet (dot) co (dot) nz Comment #11
New Attachment: Screen Shot 2012-11-27 at 10.50.06 AM.png Download
Reply to this comment
I don't know if this helps but maybe it's not a Gollem issue because 
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.
11/26/2012 09:43:46 PM max (at) mxnet (dot) co (dot) nz Comment #10 Reply to this comment
Strange thing is that I disabled the default enabled backend  (FTP) 
from backends.php a enabled the hordeauth ftp backend and voila.... 
it works now?
I am glad you solved your problem. Another happy Horde user!
I only use "backends.local.php"
All backends in the file "backends.php" on my system are disabled.
what a magic?
11/26/2012 09:41:36 PM max (at) mxnet (dot) co (dot) nz Comment #9 Reply to this comment
What about the hints I got you to track down this issue?
Thanks so much for all your help and comments.

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.


11/26/2012 09:29:05 PM Jan Schneider Comment #8 Reply to this comment
What about the hints I got you to track down this issue?
11/26/2012 09:16:36 PM aba (at) sundown (dot) cz Comment #7 Reply to this comment
Strange thing is that I disabled the default enabled backend  (FTP) 
from backends.php a enabled the hordeauth ftp backend and voila.... it 
works now?

what a magic?
11/26/2012 08:58:22 PM max (at) mxnet (dot) co (dot) nz Comment #6
New Attachment: Screen Shot 2012-11-27 at 9.53.53 AM.png Download
Reply to this comment
hi,
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 am still trying to fix this.
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.
11/26/2012 08:27:35 PM aba (at) sundown (dot) cz Comment #5 Reply to this comment
hi,
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
11/26/2012 10:41:25 AM Jan Schneider Comment #4 Reply to this comment
Cannot reproduce.
Many thanks for looking into the problem and trying to reproduce. I 
appreciate that.

Do you have any suggestion where I could look at finding the problem?
The VFS backend configuration is received via 
Gollem_Auth::getBackend() on line 45 in lib/Factory/Vfs.php
11/26/2012 10:08:46 AM max (at) mznet (dot) co (dot) nz Comment #3 Reply to this comment
Cannot reproduce.
Many thanks for looking into the problem and trying to reproduce. I 
appreciate that.

Do you have any suggestion where I could look at finding the problem?
11/26/2012 09:39:18 AM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
Cannot reproduce.
11/22/2012 07:57:35 PM max (at) mxnet (dot) co (dot) nz Comment #1
Priority ⇒ 2. Medium
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ [gollem] Class definition of Horde_Vfs_ not found.
Type ⇒ Bug
Queue ⇒ Gollem
Reply to this comment
backends.local.php is configured with smb with smb shares.

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.

Saved Queries