質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1238閲覧

phpの file_get_contents について質問です。

joeast

総合スコア26

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/10/31 08:28

$url = "https://www.yahoo.co.jp/";
$fg = file_get_contents($url);

と実行しています。
自宅サーバーなのですが、上記で、

Warning: file_get_contents() [function.file-get-contents]: Failed to enable crypto in /var/www/path on line 43
Warning: file_get_contents(https://www.yahoo.co.jp/) [function.file-get-contents]: failed to open stream: operation failed in /var/www/path on line 43

のエラーが出ます。

その他必要な情報がありましたらお教えいただければ用意いたしますので、
ご教示のほど、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ockeghem

2018/10/31 10:48

自宅サーバーはLinuxでしょうか。ディストリビューションとバージョン(CentOS6.8、Ubuntu16.04等)を追記してください
joeast

2018/11/01 02:18

はい、Linuxで、fedora11になります。
colling

2018/11/01 03:32

あら、、。ずいぶんと古いですね。まるごとアップデートしたほうが良いです。
guest

回答3

0

ベストアンサー

Fedora11をお使いなのですね。ずいぶんと古いバージョンで、2010年6月25日にサポートが終了しています。手元にFedora11の検証用VMがあったので動かしてみたところ、OpenSSLのバージョンが 0.9.8k でした。対応する TLSバージョンは 1.0 までです。一方、Yahoo!はセキュリティ向上のため TLS1.2を要求しているので、接続に失敗しているようです。
Fedora11を使っている事自体がきわめて危険なので、最新版にバージョンアップすることをお勧めします。それで、この問題も解決するはずです。

--
Yahoo! のTLS1.2に移行のリリースがありましので紹介します

Yahoo!セキュリティセンター | セキュリティ強化のお知らせ

投稿2018/11/01 03:03

編集2018/11/01 03:33
ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

joeast

2018/11/01 03:19

なるほどです、調査の方誠にありがとうございます。 つまり今回の問題はYahoo!サイトのTLSバージョンが上がってきた為に、 file_get_contents が失敗するようになってしまった(1年ほど前は成功していたと記憶しております) と考えてよいのでしょうか? また、現在 httpd が常時稼動中という状況なのですが、 こちらを停止させずにバージョンアップは可能なのでしょうか?
ockeghem

2018/11/01 03:34

Yahoo! がTLS1.2に限定したのはつい最近のようです。私の回答の追記を御覧ください。 > また、現在 httpd が常時稼動中という状況なのですが、こちらを停止させずにバージョンアップは可能なのでしょうか? 停止させずにバージョンはできません。httpdが公開されているのであれば極めて危険なので、すぐに対処されたほうがよいと思います。
joeast

2018/11/01 05:12

そうなのですね、ありがとうございます。 では頃合を見てバージョンアップで対応しようと思います。 ご教示ありがとうございました。
guest

0

エラー的には、SSL通信ができていない時のエラーだと思われます。
自宅サーバということですので、opensslのパッケージのCA証明書が古いという可能性がありますね。

$url = "https://www.yahoo.co.jp/";http://~に変更して、file_get_contents()できるか確認してみてください。

投稿2018/10/31 08:48

colling

総合スコア798

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

joeast

2018/10/31 09:02

ありがとうございます、 ご指摘いただいたように、ただいま「http://」でアクセスしてみましたが、 全く同じエラーが出力されました。 やはりopensslの問題なのでしょうか?
colling

2018/10/31 09:08

あれ?じゃぁopensslではないかもですねぇ。 ちなみに yahoo.co.jp 以外もダメですか?
colling

2018/10/31 09:21

http://のアクセスでもエラー表示は2つ出ていますか
joeast

2018/10/31 09:30

はい、yahoo.co.jpもダメで、エラーの表示も同じく2つ出ます。
CHERRY

2018/10/31 09:53 編集

http://www.yahoo.co.jp にアクセスすると https://www.yahoo.co.jp:443/ へリダイレクトされるので、 おそらく openssl の問題でしょうね。 主要サイトは、https へリダイレクトするようになったからなぁ...
joeast

2018/10/31 09:58

なるほどです、そうなのですね、ではやはりopensslの問題の可能性が高いということですね。 ありがとうございます。
colling

2018/10/31 10:14

今は、https://にリダイレクトするサイトが多いですもんね。 ひとまず、http://のままアクセスできるサイトを入れてみて file_get_contents() できるかやってみてください。
joeast

2018/11/01 02:26 編集

ただいま確認したところ、 http://www.metro.tokyo.jp/ こちらのページは https のページは存在しないようでしたので試してみたところ、 file_get_contents が成功しました。 やはり https だけ失敗するようですので、ssl関連の問題のようです。
guest

0

ockeghem様からご指摘いただいた、opensslのバージョンの問題かと思いますので、
現在のfedoraのバージョンアップで対応しようと思います、ありがとうございました。
その他ご回答くださった皆様、大変参考になりました、ありがとうございました。

投稿2018/11/01 05:14

joeast

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問