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

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

ただいまの
回答率

87.93%

phpの拡張(openssl)モジュールのインストール手順について

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,611

score 15

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
になります。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m6u

    2019/04/19 15:24 編集

    linuxもいろいろあるので、環境情報正確に質問文内にお願いします。そのうえで、質問にディストリビューションの名前でタグを追加すれば、より的確な助言が得られるかと。

    キャンセル

  • A.S9999

    2019/04/19 15:26

    ご指摘ありがとうございます。
    環境について、追記します。

    キャンセル

  • ockeghem

    2019/04/19 15:36

    PHPはどうやって導入したものでしょうか?

    キャンセル

  • A.S9999

    2019/04/19 16:01

    環境構築時の資料では、モジュールから以下のmakeコマンドで導入しているようです。
    -------------------------------------------------
    # cd /usr/local/src
    # tar -xzvf php-5.6.10.tar.gz
    # cd php-5.6.10
    # ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-zlib --without-iconv --with-mysql --with-libdir=lib64 --enable-pdo --with-pdo-mysql

    # make
    # make test
    # make install

    キャンセル

回答 2

+3

漠然とまとめると、

・phpがopenssl使える状態のコンパイル・ビルドがなされたものであるかどうか、
・phpに対応するopenssl拡張モジュールが入っているかどうか、
・対応するopensslが入っているかどうか、
・php.iniで使えるように設定済みかどうか

という点のチェックが必要で、
phpインストール時期とopensslインストール時期がずれていると、まれに
phpのopenssl拡張モジュールが対応するバージョンとopensslのバージョンが違う恐れがあるので、
ここのすり合わせが必要だった気がします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/22 21:04

    試してみたら、通常の拡張インストール(make makeinstall )の手順で有効にできました。
    ありがとうございます。
    今後は、本番と同等の環境を用意しようと思います。

    キャンセル

checkベストアンサー

0

そもそも、HTTPSでPHPのウェブAPIを動かす場合でも、openssl自体は必須(Apacheから利用するため)ですが、PHPからopensslを呼び出す必要はない場合が多いように思います。
今までHTTPで動いていたものを単にHTTPSにするだけであれば、PHPのopensslモジュールを組み込む必要はないと思いますが、どうでしょうか?


PHPのビルド方法の追記ありがとうございます。
これですと、素のPHP5.6.10ということになり、特にパッチもあたっていないと思います。PHP5.6は既にサポート終了しているので、PHPのバージョンアップを急ぐべきかと思います。とくに理由がなければ、最新のPHP7.3を検討すべきです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/19 17:11

    回答ありがとうございます。
    PHPのバージョンについては、顧客と調整し、夏ごろに実施予定でありまして、
    まずは現行の5.6.10 でAPI機能を追加したいという状況にあります。

    キャンセル

  • 2019/04/19 17:36 編集

    また、opensslの導入についてですが、
    API機能の追加のソースコードで、

    $sXML = simplexml_load_file($url);

    結果をXMLで取得するところで、エラーが発生しており、opensslがphpでモジュールとして有効になっていないため、拡張インストールを検討しました。
    $url は、httpsからはじまるURLを指定しています。

    キャンセル

  • 2019/04/19 18:29

    「https でアクセスするAPIを導入する予定」のところですね。確かに必要かもしれませんね。失礼しました

    キャンセル

  • 2019/04/22 21:04

    試してみたら、通常の拡張インストール(make makeinstall )の手順で有効にできました。
    ありがとうございます。
    今後は、本番と同等の環境を用意しようと思います。

    キャンセル

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

  • ただいまの回答率 87.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る