private function toDomainPathMap(array $paths) { $result = []; foreach ($paths as $path => $domains) { if (is_numeric($path)) { $message = <<<MESSAGE Your configuration has the wrong format. Received a numeric value as path name. This is most probably due to your "paths" value not being a map but a list instead. If your configuration looks like this: certificates: - paths: - /www/a: a.example.org - /www/b: b.example.org Rewrite it to the following format for a single certificate: certificates: - paths: /www/a: a.example.org /www/b: b.example.org Rewrite it to the following format for two separate certificates: certificates: - paths: /www/a: a.example.org - paths: /www/b: b.example.org Documentation is available at https://github.com/kelunik/acme-client/blob/master/doc/usage.md#configuration If this doesn't solve your issue, please reply to the following issue: https://github.com/kelunik/acme-client/issues/30 MESSAGE; throw new ConfigException($message); } $domains = (array) $domains; foreach ($domains as $domain) { if (isset($result[$domain])) { throw new ConfigException("Duplicate domain: {$domain}"); } $result[$domain] = $path; } } return $result; }