<d:error xmlns:d=“DAV:” xmlns:s=“http://sabredav.org/ns”>
<s:message>explode() expects parameter 2 to be string, null given</s:message>
Operating system: ubuntu server 16.04 lts Web server: apache Database: mysql
**PHP version:**7.0 ownCloud version: 10.3.0 (stable) Updated from an older ownCloud or fresh install: started with 9.0 Where did you install ownCloud from: repository
This is what the developer of TbSync said:
I am not sending an invalid request. The request triggers a php error (or something) because they use the explode() method with wrong parameters.
I cannot fix this. Standards are standards for a reason: interoperability.
So it would be nice if owncloud developers can fix this!
maybe you can do a posting in https://central.owncloud.org/c/meta explaining why you have chosen the “Server-Apps” category which is about additional apps installed on your ownCloud for a problem with the ownCloud server? I think this could help the ownCloud team to improve the forums category description so that the correct categories are chosen.
For your problem itself you could have used the forums search like:
For me it’s not easy to know where is the cut-off between the server application and the addon like contacts in this case.
The developer of TbSync found a solution for me and thats what he mailed me:
The bug is known at owncloud.
It is a bug in the underlaying SabreDav. You can fix it yourself by doing the changes to lib/composer/sabre/dav/lib/CardDAV/Plugin.php in your owncloud installation as described here:
sorry there are lines missing -
the log shows a couple of script lines - the last one is
script src = /owncloud/core/js/files/client.js?v=
Than the message body id = body loging
This is the case for both TBsync and DAVx5
I just changed Plugin.php
Line 689 OLD list($part) = explode(’;’, $contentType);
Line 689 New list($part) = explode(’;’, $contentType ?: ‘’);
As suggested here : https://github.com/sabre-io/dav/pull/1183
I am now able to sync with thunderbird TBSync
After upgrade I had to do the same to get TBsync to work!
Ctrl-F list($part) = explode(’;’, $contentType);
list($part) = explode(’;’, $contentType ?: ‘’);
What I don’t understand is, the bug was known bei owncloud, and they didn’t fix it right!
i don’t think this is correct. From what i have read in the links posted above the bug wasn’t known by ownCloud and only got reported after the release of ownCloud 10.3.0 to them via https://github.com/owncloud/core/issues/36299 (ownCloud 10.3.0 release: 15.10.2019, bugreport: 19.10.2019).
I think because it was a bug in a 3rd party library used by ownCloud it could take some time until the fixed library is included in ownCloud. Maybe you can ask in https://github.com/owncloud/core/pull/36300 when this will happen?