From: Ganesh Kandu Date: Tue, 27 Oct 2020 12:12:35 +0000 (+0530) Subject: Replaced PHP_EOL to "\n" X-Git-Tag: v0.12.1^2~27^2~1 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=42a72c02fa4b6a5eb9d26a7a3a990e497fc10df3;hp=820cae27cfcc94af552818f3f1e5342e00478f6c;p=github%2Fshaarli%2FShaarli.git Replaced PHP_EOL to "\n" i was getting error ``` An error occurred while parsing JSON configuration file (data/config.json.php): error code #4 ➜ Syntax error Please check your JSON syntax (without PHP comment tags) using a JSON lint tool such as jsonlint.com. ``` after debug i found ```php $data = str_replace(self::getPhpHeaders(), '', $data); $data = str_replace(self::getPhpSuffix(), '', $data); ``` doesn't removing php header and php suffix cause of this issue was PHP_EOL represents the endline character for the current system. if my ```config.json.php``` was encoded with unix ( LF ) and php running on windows windows encoding ( CR LF ) is not same as unix encoding ( LF ) so ```str_replace``` doesn't replace strin then it causes issue. --- diff --git a/application/config/ConfigJson.php b/application/config/ConfigJson.php index c0c0dab9..eaa4ee3f 100644 --- a/application/config/ConfigJson.php +++ b/application/config/ConfigJson.php @@ -73,7 +73,7 @@ class ConfigJson implements ConfigIO */ public static function getPhpHeaders() { - return ''; + return "\n" . '*/ ?>'; } }