However, creating subdirectories in /tmp must be allowed for everyone. Go check your personal temporary directory on your OS, I'm sure you'll probably find even more directories than you'll find files.
Also, checking out the code of SysTempDirCheck.php I'm not sure if the current error message is correct. It seems like it outputs information related to open_basedir. However, that is just one use case. It might also be the case that the configured temporary directory just does not have the correct rights. The open_basedir check should be separate from it.
So imho
Check if a file can created in sys_get_temp_dir()
Check if a file can be written to in sys_get_temp_dir()
Check if a directory can be created in sys_get_temp_dir()
Check if a file can be written to that created directory
If any of those checks fail:
Split the open_basedir paths (:) and check if they match sys_get_temp_dir(). If not, the configuration of open_basedir is wrong.
Otherwise the permissions of the temporary directory seem to be wrong.
This might lead to issues such as https://github.com/contao/contao/issues/1813.
However, creating subdirectories in
/tmp
must be allowed for everyone. Go check your personal temporary directory on your OS, I'm sure you'll probably find even more directories than you'll find files.Also, there's many sources for this, just search the Internet for "correct permissions for tmp directory" but here's one for you: https://www.thegeekdiary.com/unix-linux-what-is-the-correct-permission-of-tmp-and-vartmp-directories/
Also, checking out the code of
SysTempDirCheck.php
I'm not sure if the current error message is correct. It seems like it outputs information related toopen_basedir
. However, that is just one use case. It might also be the case that the configured temporary directory just does not have the correct rights. Theopen_basedir
check should be separate from it. So imhosys_get_temp_dir()
sys_get_temp_dir()
sys_get_temp_dir()
If any of those checks fail:
open_basedir
paths (:
) and check if they matchsys_get_temp_dir()
. If not, the configuration ofopen_basedir
is wrong./cc @ausi