dotclear 2.16.9 で、php-fpm と nginx を FreeBSD で使用。
admin ページを開くと 500 エラーになり、ログを参照すると
2020/06/04 11:31:26 [error] 93627#100246: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'Exception' with message 'SSL support is not available' in dotclear-2.16.9/inc/libs/clearbricks/net.http/class.net.http.php:650
Stack trace:
#0 dotclear-2.16.9/inc/core/class.dc.store.reader.php(142): netHttp->useSSL(true)
#1 dotclear-2.16.9/inc/core/class.dc.store.reader.php(184): dcStoreReader->getModulesXML('https://update....')
#2 dotclear-2.16.9/inc/core/class.dc.store.reader.php(59): dcStoreReader->withCache('https://update....')
#3 dotclear-2.16.9/inc/core/class.dc.store.reader.php(85): dcStoreReader->parse('https://update....')
#4 dotclear-2.16.9/inc/core/class.dc.store.php(63): dcStoreReader::quickParse('https://update....', '/usr/local/www/...', false)
#5 dotclear-2.16.9/inc/core/class.dc.store.php(49): dcStore->check(false)
#6 dotclear-2.16.9/admin/index.php(92): dcStore->__construct(Object(dcThemes), 'https://update....')
#7 /" while reading response header from upstream, client: 114.158.206.94, server: www.pseudomoon.jp, request: "GET /dotclear/admin/ HTTP/2.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "www.pseudomoon.jp"
vi ^C
と残っている。
問題のコードは、
/
if ($boolean) {
if (!in_array('ssl', stream_get_transports())) {
throw new Exception('SSL support is not available');
}
$this->use_ssl = true;
} else {
$this->use_ssl = false;
}
で、streamgettransports() の結果をみると確かに ssl は入っていなかった。
とは言っても通るはずなので、内側の if 文をまるごとコメントアウトした。