Apache HTTPDがプリインストールされたCentOSにPHPをインストールする方法は?

Apache HTTPDがプリインストールされたCentOSにPHPをインストールする方法は?

CentOS 7を使用しています。私はPHP 7をインストールしたいのでそれを使用しましたremi-php(最新のPHPバージョンyumは5.4です)。 HTTPDバージョンがyum古すぎるため、ソースコードから最新のHTTPDバージョンをコンパイルしました。

remi-phpただし、次のコマンドを使用してインストールしようとすると、HTTPDは非常にシームレスにコンパイルされます。

yum --enablerepo=remi-php71 install php php-cli php-intl php-mbstring php-mcrypt php-mysqlnd

phpをインストールするには、yum以前のバージョンもインストールされますhttpd(最新のHTTPDバージョンをコンパイルして使用しましたが)。インストールを続行するとHTTPDでエラーが発生して起動しませんが、インストールを続行しないとファイルをインポートできず、php*.soApacheはそのファイルを解析しません.php

それでは、php以前にコンパイルされたApache HTTPDに影響を与えずにそれをインストールする方法は何ですか?私のサーバーに2つのApache HTTPDインスタンスが同時に存在したくありません。これにより、後で問題が発生する可能性があります。

あなたがくれた答えは私にとって大きな助けになります。

ご回答ありがとうございます。

ベストアンサー1

使用することをお勧めしますソフトウェアコレクション(SCL)の代わりに。少なくともCentOS 7が2024年に終了するまで、サポートされているPHP(最大7.3)およびHTTPd(2.4)バージョンを提供します。まず、SCLリポジトリをインストールします。

yum install centos-release-scl centos-release-scl-rh

その後、PHPとHTTPdのSCLバージョンをインストールできます。

yum install httpd24 rh-php73

これにより、必要な基本的な依存関係が発生します。以下に記載されている他のPHPモジュールをインストールするには、パッケージ名の前に次のものを付けますrh-php73

yum install rh-php73-php-cli rh-php73-php-intl rh-php73-php-mbstring rh-php73-php-mysqlnd

7.3用のSCLバージョンが見つからないため、php-mcrypt自分でビルドする方法を見つける必要があるかもしれません。しかし、これはPHP 7.1では廃止とマークされています、そして必要があります7.2のPHPコアから削除されました。したがって、これはおそらく予想されるものです。 PHPプロジェクトは次の選択肢をお勧めします。

  • 使用OpenSSL。これにはサポートがrh-php73-php-commonあり、依存関係で自動的にインストールされます。
  • 使用ナトリウム。これを行うには、追加パッケージであるsclo-php73-php-sodium

すべてがインストールされると、設定ファイルが通常の場所にないことがわかります。これは、SCLパッケージが基本パッケージと並列にインストールできるように設計されているためです。

デフォルトパス SCLパス
/etc/httpd /opt/rh/httpd/root/etc/httpd
/etc/php.ini /etc/opt/rh/rh-php73/php.ini
/etc/php.d /etc/opt/rh/rh-php73/php.d
/var/log/httpd /var/log/httpd24

HTTPdを開始する準備が整うと、サービス名も異なるように指定されます。

systemctl --now enable httpd24-httpd.service

最後に、バージョン番号に関しては、CentOS 7のほとんどすべてがRHEL 7から直接派生していることに注意してください。バージョン番号自体は少し古いものかもしれませんが、それ以降のバージョンのパッチがバージョン番号にバックポートされることがよくあります。アイデアは、必要なバグとセキュリティ修正を提供しながら、ABIの安定性を維持することです。

おすすめ記事