9 / 9
Apr 2024

Hello.
I’m running 23.1.20240304 Egroupware version, Apache/2.4.41 (Win64), OpenSSL/1.1.1c and PHP/8.2.0

When in a task (infolog), in the links tab I add a file. Indicates that it has been uploaded successfully. The temporary file appears on the server in the corresponding folder, but when I click on apply or save the task, the temporary file is not copied to the server’s file folder.
The following appears in the Apache error log file:

[Thu Apr 18 13:35:46.398648 2024] [php:notice] [pid 14864:tid 1888] [client 158.42.160.44:50169] EGroupware\\Api\\Vfs::copy_uploaded(C:\\itemp/egw2101.tmp, /apps/infolog/568, NULL) returning FALSE, referer: h t t p://mydomain/index.php?cd=yes
[Thu Apr 18 13:35:46.398648 2024] [php:notice] [pid 14864:tid 1888] [client 158.42.160.44:50169] EGroupware\\Api\\Link::attach_file('infolog', '568', Array([app] => file[id] => egw2101.tmp[name] => Bottom.stp[type] => text/plain[tmp_name] => C:\\itemp/egw2101.tmp), '') called Vfs::copy_uploaded({"app":"file","id":"egw2101.tmp","name":"Bottom.stp","type":"text\\/plain","tmp_name":"C:\\\\itemp\\/egw2101.tmp"}, '/apps/infolog/568', '', false)=FALSE, referer: h t t p://mydomain/index.php?cd=yes
[Thu Apr 18 13:35:52.680166 2024] [php:notice] [pid 14864:tid 1888] [client 158.42.160.44:50175] Error reading etemplate request data for id=infolog_berbercl_TEip4RrRG_LlDpUOMxbVdMBN2IdQMy3EoAYhpFus5Ng=!, referer: h t t p://mydomain/index.php?cd=yes

Thank you for your help

  • created

    Apr '24
  • last reply

    Apr '24
  • 8

    replies

  • 627

    views

  • 2

    users

  • 3

    links

This looks like you specified the temp_dir in EGroupware Setup as a windows path.

I would first try changing that, probably the same for the files_dir, it also won’t work. At least you need to use forward slashes (/), not backslashes (\).

You have not written anything about your environment / installation.

Ralf

Thanks for the reply.
Sorry for not providing all the information.
The operating system of the server where Egroupware is running is Windows.
The file is uploaded to the temporary directory, the problem is that it is not copied to the corresponding infolog directory and remains in the temporary directory.

Not using APCu will slow things considerately, but should not cause them to fail.

And you implemented the config-change I suggested (replacing backslashes in the config with forward slashes)?

Ralf

Yes, I changed the backslashes in the settings with forward slashes, but the problem remains.
Now in the php errorlog file it indicates the following:

> [22-Apr-2024 09:20:11 Europe/Berlin] EGroupware\Api\Vfs::copy_uploaded(C:/itemp/egw75D7.tmp, /apps/infolog/568, NULL) returning FALSE
> [22-Apr-2024 09:20:11 Europe/Berlin] EGroupware\Api\Link::attach_file('infolog', '568', Array([app] => file[id] => egw75D7.tmp[name] => final compacto 7 bernat.cst[type] => application/octet-stream[tmp_name] => C:/itemp/egw75D7.tmp), '') called Vfs::copy_uploaded({"app":"file","id":"egw75D7.tmp","name":"final compacto 7 bernat.cst","type":"application\/octet-stream","tmp_name":"C:\/itemp\/egw75D7.tmp"}, '/apps/infolog/568', '', false)=FALSE

Are you sure the specified temp-folder exists AND is writable by the webserver?

Do you see the file from the error in that folder?

Ralf

Yes.
The file is uploaded to the temporary folder with the temporary file name assigned to it. The problem is when it have to make the copy to the final folder. I don’t know where the infolog files are stored. I assume it should be copied to a folder within the file folder indicated in the settings.

I have no problem in either the temporary folder or the backup folder.

Hmm, a direct install under Windows is probably the by far most complicated and unusual way you picked for installing EGroupware.

The Vfs::copy_uploaded() method giving the error:

According to your error-message is must go wrong here:

Check your configured files_dir, if it is writable by the webserver AND contains a (webserver writable) directory sqlfs, where Vfs::copy_uploaded() would try to store the file.

Most easy would be to use Hyper-V and run a Linux VM with a current Ubuntu LTS or Debian, and install our egroupware-docker Linux package in it, as described in our install instructions:
https://github.com/EGroupware/egroupware/wiki/Installation-using-egroupware-docker-RPM-DEB-package#installation-or-update

Ralf