質問: linux環境のPHPのシステムでhttps でアクセスするAPIを導入する予定があり、 現行環境にopensslをいれるか検証しているところです。 ※当方は保守を引き継いだため、システム構築当時の状況が分からない状態です。 現行の環境では、php -m で確認したところ、opensslがインストールされていませんでした。 phpinfo()の画面では、opensslの項目(欄)自体が存在しません。 ただ、openssl version で確認すると、バージョンは表示されるため、 opensslは入ってると思われます。 この状態の場合、phpの拡張モジュールインストール手順(phpのext/openssl/配下でmake、make installコマンド実施後、php.iniのextensionの記述を修正)して、有効化する手順が正しいか、ご教示ください。 気になっているのが、既にopensslはインストールされている場合も、拡張モジュールのインストール手順が正しいのか、というところです。 phpinfo()の画面でopensslの項目(欄)がないことも気になります。 検証環境もあるのですが、検証環境では複数apacheがインストールされており、上記手順でうまく動きませんでした。 環境は、古いシステムで、 Red Hat Enterprise Linux Server release 6.6 (64-bit) Apache2.2.29 PHP 5.6.10 opnessl version で表示されるのは、OpenSSL 1.0.1e-fips 11 Feb 2013 になります。
回答: そもそも、HTTPSでPHPのウェブAPIを動かす場合でも、openssl自体は必須(Apacheから利用するため)ですが、PHPからopensslを呼び出す必要はない場合が多いように思います。 今までHTTPで動いていたものを単にHTTPSにするだけであれば、PHPのopensslモジュールを組み込む必要はないと思いますが、どうでしょうか? PHPのビルド方法の追記ありがとうございます。 これですと、素のPHP5.6.10ということになり、特にパッチもあたっていないと思います。PHP5.6は既にサポート終了しているので、PHPのバージョンアップを急ぐべきかと思います。とくに理由がなければ、最新のPHP7.3を検討すべきです。