さくらサーバの設定(利用者ではなく運営が可能な設定)の問題だったようです。
運営がサイレント修正したのでしょう。
当時は下記の状況でしたが、現在はすでに解決しています。
状況を確認できる最小限のコードが用意できました。
php
1ini_set("log_errors","on");
2ini_set("error_log", "/PATH/TO/YOUR/error.log");
3ini_set("error_reporting", E_ALL);
4
5$html = file_get_contents("https://letsencrypt.org/feed.xml");
6var_dump($html);
7var_dump($http_response_header);
ログ保存パスだけ書き換えて実行してください。
linuxターミナル上で php test.php
のように実行すると、下記のようなログが出ます。
[01-Oct-2021 15:08:29 Asia/Tokyo] PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /home/(略)
[01-Oct-2021 15:08:29 Asia/Tokyo] PHP Warning: file_get_contents(): Failed to enable crypto in /home/(略)
[01-Oct-2021 15:08:29 Asia/Tokyo] PHP Warning: file_get_contents(https://letsencrypt.org/feed.xml): failed to open stream: operation failed in /home/(略)
[01-Oct-2021 15:08:29 Asia/Tokyo] PHP Notice: Undefined variable: http_response_header in /home/(略)
ですが、ブラウザ上でURLから呼び出してもエラーは発生せず、正常に情報が取得できています。
という状況でした。
現在はコマンド実行でも正常に取得するようになりました。