[gollem] avoid error message, when using ssh2-vfs-driver in gollem
Jan Schneider
jan at horde.org
Wed Sep 16 20:11:14 UTC 2009
Zitat von Michael Gröne <michael.groene at zew.uni-hannover.de>:
> Playing around with gollem I ran into a write-error on my filesystem.
> Not a problem so far - there will be an error-message (Die VFS-Datei
> "/home/local/ZEW/michael/test/filename" konnte nicht gespeichert
> werden.), but there will even php-errors be displayed which include
> the password in cleartext leading to "headers already sent"-errors:
>
> Warning: copy() [function.copy]: Unable to open
> ssh2.sftp://zew\michael:(password)@fileserver.local:2000/home/local/ZEW/michael/test/filename on remote host in /var/www/horde_dev_124/lib/VFS/ssh2.php on line
> 966
>
> Warning:
> copy(ssh2.sftp://...@fileserver.zew.local:1984/home/local/ZEW/michael/test/filename) [function.copy]: failed to open stream: Bad file descriptor in /var/www/horde_dev_124/lib/VFS/ssh2.php on line
> 966
>
> Warning: Cannot modify header information - headers already sent by
> (output started at /var/www/horde_dev_124/lib/VFS/ssh2.php:966) in
> /var/www/horde_dev_124/gollem/templates/common-header.inc on line 3
>
> Warning: Cannot modify header information - headers already sent by
> (output started at /var/www/horde_dev_124/lib/VFS/ssh2.php:966) in
> /var/www/horde_dev_124/gollem/templates/common-header.inc on line 4
>
> My solution is to call the causing function with @ before
> (/lib/VFS/ssh2.php, line 966):
> /**
> * Sends local file to remote host.
> * This function exists because the php_scp_* functions doesn't
> seem to work on some hosts.
> *
> * @access private
> *
> * @param string $local Full path to the local file.
> * @param string $remote Full path to the remote location.
> *
> * @return boolean TRUE on success, FALSE on failure.
> */
> function _send($local, $remote)
> {
> return @copy($local, $this->_wrap($remote));
> }
>
> /**
> * Receives file from remote host.
> * This function exists because the php_scp_* functions doesn't
> seem to work on some hosts.
> *
> * @access private
> *
> * @param string $local Full path to the local file.
> * @param string $remote Full path to the remote location.
> *
> * @return boolean TRUE on success, FALSE on failure.
> */
> function _recv($remote, $local)
> {
> return @copy($this->_wrap($remote), $local);
> }
>
>
> Maybe this will be applied to the next version of gollem?
That code is actually in Horde, but I committed your fix, thanks.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the gollem
mailing list