この記事では、file_get_contents が port で URL を取得できない問題の解決策を紹介します。詳しく知りたい学生は参照してください。
まず file_get_contents() 関数を理解しましょう。公式の紹介文には、ファイル全体を文字列に読み取ると記載されています。
例
echo file_get_contents("test.txt");
?>
出力:
これはテストテキストを含むテストファイルです。
同様に、この関数はリモートサーバー上のコンテンツを取得するためにも使用できます
file_get_contents('http://www.bKjia.c0m');
このままでは問題ないですが、ポートを持ってくると問題が発生します
例:
file_get_contents('http://localhost:12345');
何も得られません。
解決策は: selinux をオフにすることです
1 永続的な方法 – サーバーを再起動する必要があります
/etc/selinux/config ファイルを変更して SELINUX=disabled を設定し、サーバーを再起動します。
2 一時的な方法 – システムパラメータを設定します
コマンド setenforce 0 を使用します
添付ファイル:
setenforce 1 SELinux を強制モードに設定します
setenforce 0 SELinux を許可モードに設定します
phpのallow_url_fopenオプションがオフになっています
その理由は、php.ini で php のallow_url_fopen オプションがオフになっているためです。これをオンにするだけで済みます。
allow_url_fopen を開く権限がない場合は、curl 関数を使用して置き換えることができます。これも良い方法です。