Author |
|
df8oe Newbie
Joined: 07 September 2020 Location: Germany
Online Status: Offline Posts: 6
|
Posted: 07 September 2020 at 10:05am | IP Logged
|
|
|
I am just playing a little bit around with WebMail Lite and I got an interesting issue:
If I run it using php 7.3 or older everything works as expected. If I use my recent php 7.4.10 I got problems accessing data folder. Folder and files already belong to apache user, but I tried to set them to "read/write for world". No difference. Data folder cannot be accessed. I used the same php.ini for both php versions, same modules enabled, same functions disabled. It looks like an incompatibility with php 7.4.10... Does anyone have used it successfully with php 7.4?
Best regards
df8oe
|
Back to Top |
|
|
df8oe Newbie
Joined: 07 September 2020 Location: Germany
Online Status: Offline Posts: 6
|
Posted: 08 September 2020 at 12:21am | IP Logged
|
|
|
I have investigated more. There are 34 errors of deprecated functions, changed definitions and so on if I check php compatibility. Most of them are related to /vendors/... files. I do not have seen anyone that can cause this issue but it is still there. Using the same php configuration and same installation folder it works perfectly with php 7.3 and older and throws errors with php7.4.10. After testing what kind the access errors are I have seen that anything related to "writing" fails (creating / writing / deleting). Reading works fine. Permissions are correct (files/folders own to the user the webserver is running with). Additionally setting permissions for world write access does not solve the issue. So what for hell can deny write access in php7.4 and not in php7.3 - where read access works in both versions? And file permissions cannot be the reason? That is very strange!
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 08 September 2020 at 7:20am | IP Logged
|
|
|
We indeed used it with PHP 7.4 quite a lot, and I don't think we've encountered any issues with it, at least on the latest v8.5 of WebMail. And while PHP 7.4.10 is just a few days old, I've just added it to my WAMP setup and was able to use WebMail just fine. Later on, I'll try setting up PHP 7.4.10 onto Ubuntu box and see if things work there.
So the questions I currently have are:
1) are you actually on v8.5 of WebMail Lite? You can check that as shown here;
2) what do you have error_reporting set to in your PHP configuration?
3) and if it's set to E_ALL, does it help if you set the value as follows:
Code:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT |
|
|
(worth noting that i'm not getting any deprecated errors, even on E_ALL)
One more thing that comes to mind is - any chance your system runs SELinux? We've had a few cases when, even with the right permissions, files/directorious could not be accessed, and in all of those cases, it always was SELinux.
--
Regards,
Igor, Afterlogic Support
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 08 September 2020 at 7:38am | IP Logged
|
|
|
Quote:
There are 34 errors of deprecated functions, changed definitions and so on if I check php compatibility. Most of them are related to /vendors/... files. |
|
|
Can you name a few of those, maybe? There's one issue I'm aware of, with vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php - that code is a part of WebMail Lite, too, though I doubt it's actually used there.
--
Regards,
Igor, Afterlogic Support
|
Back to Top |
|
|
df8oe Newbie
Joined: 07 September 2020 Location: Germany
Online Status: Offline Posts: 6
|
Posted: 08 September 2020 at 8:25am | IP Logged
|
|
|
Hi Igor,
you pointed me in a direction I forgot. I am running Arch Linux and kernel is in LOCKDOWN MODE. Maybe that causes the problem! But it is only present at php 7.4 and same kernel runs under php 7.3 - where all works flawlessly. I am using php-fpm and can select php-versions per domain. So actually WebMail-Lite is running on php7.3 (but it is the only domain where not the recent php version is used). Arch is bleeding edge and I got new versions very fast.
For checking php incompatibilities I use https://github.com/wapmorgan/PhpCodeFixer
Of course there EVERYTHING is checked - even code parts which are unused.
You can find my report here:
https://www.suletuxe.de/data/uploads/webmail-lite.txt
My version which is shown is 8.5.0-build -a3
BTW:
Cranking up error reporting and removing the leading "@" from the test functions does not show any error messages - neither in apache logs or on the browser. My post "...throws errors..." means there are errors reported on /?install compatibility test - sorry if it was misleading.
|
Back to Top |
|
|
df8oe Newbie
Joined: 07 September 2020 Location: Germany
Online Status: Offline Posts: 6
|
Posted: 08 September 2020 at 9:56am | IP Logged
|
|
|
Solved. I have moved the data folder out of /usr/share/... to the home directory of the apacheuser and symlinked it to the /usr/share... folder. If I do so all is working with php 7.4.10. Important: There is NO openbasedir restriction set. This is definitely related to SeLinux or running the kernel in lockdown mode. I have looked into the documentation of lockdown mode but I could not find any hints. It seems to be more difficult to analyze. Not all places on filesystem are writeable even if the permissions are sufficient...
|
Back to Top |
|
|