Page MenuHomePhabricator

Installer: Warn if the system's tmp directory is not writable
Open, Needs TriagePublic

Description

At least since MediaWiki 1.26 there have been a lot of reports in Support desk for problems with a temp directory

Since rMWb7e65e555adc2b77dad55eb2b28338bf2e7619e1 things should be improved, but still, PHP is_writable() function may not catch ACL permissions, SELinux and the like. The installer should not only rely on wfTempDir() but also actually write a temp file on it for testing this functionality.

I think doing this test during the environment tests and return a big warning, would prevent frustration on people installing MediaWiki for the first time that experience this issue. The error happens usually in load.php so it may not be obvious where to look at, since there's no visible error (unless one looks at the browser's error console, which is not a common place to look for system admins and general users)

I don't think aborting the install should be necessary, since $wgTmpDirectory could be set after the install.

Examples of such problems reported:

Event Timeline

Ciencia_Al_Poder raised the priority of this task from to Needs Triage.
Ciencia_Al_Poder updated the task description. (Show Details)
Ciencia_Al_Poder subscribed.

I want take it as my first task in this project. Do i have to announce taking the task somewhere?

Change 286375 had a related patch set uploaded (by KOKOS250):
Improve the check of writability into temporary directory.

https://gerrit.wikimedia.org/r/286375

Change 286375 abandoned by Bartosz Dziewoński:
Improve the check of writability into temporary directory.

Reason:
Superseded by https://gerrit.wikimedia.org/r/#/c/287746/

https://gerrit.wikimedia.org/r/286375

Change 287746 had a related patch set uploaded (by KOKOS250):
Improve the check of writability into temporary directory.

https://gerrit.wikimedia.org/r/287746

I totally forgot that I was ever working on this task. I am not used to writing in PHP anymore, so I would like to let this task for someone else.

@KOKOS250: Thanks for the reply! In that case, feel free to remove yourself as task assignee. :)

@KOKOS250: Thanks for the reply! In that case, feel free to remove yourself as task assignee. :)

Sorry, I thought that I did that.