作業環境
実際に作業した環境がこちらです。
マシン:Windows Server 2016
phpバージョン:ver 5系
Apache2.4 + Tomcat 6.0
データベース:Mysql
事前確認
まずは、現在のサーバのphpバージョンを確認します。
コマンドプロンプトを開いて、「php -v」と入力するとバージョンが表示されます。
php -v

今回作業するサーバは、なんと「php 5.6.5」でした、、、
古すぎますね。ほったらかしにしすぎました。笑
phpの上書き「インストール」と「バージョンアップ」
新しいバージョンのphpを上書きインストールします。
phpのインストーラダウンロードサイトに移り、圧縮ファイルをダウンロードします。
最新版で8系が出ていましたが、今回は「7.4.26」を選びました。
その中の「Windows downloads」をクリックします。


次のページでは、マシンのbit数と構築環境をを確認して、「Thread Safe」のタイプを選びます。
VC15 x86 Non Thread Safe | 32bit版のWindowsを利用し、WEBサーバーとして IIS を利用する場合。 |
VC15 x86 Thread Safe | 32bit版のWindowsを利用し、WEBサーバーとして Apache を利用する場合。 |
VC15 x64 Non Thread Safe | 64bit版のWindowsを利用し、WEBサーバーとして IIS を利用する場合。 |
VC15 x64 Thread Safe | 64bit版のWindowsを利用し、WEBサーバーとして Apache を利用する場合。 |
今回使用しているサーバは「64bit」で「Apache」のため、「VC15 x64 Thread Safe」を選択しました。
zipファイルをダウンロードします。

ダウンロードした「zip」ファイルを展開すると、たくさんのファイルが入っていることが確認できます。

このファイルたちを丸ごと、現在の「php」フォルダの内容にリプレースします。
私の環境下では、「C:¥php」に設定されていたため、その内容を「ver7.4.26」のものに置き換えました。
(旧バージョンのファイル一式は念の為にバックアップしておくことをお勧めします。万が一の時のために。)
置き換えができたら、中身のデータを確認していきます。
最初に、「C:¥php」内に「php7apach2_4.dll」というファイルが存在していることを確認。

続いて、「php.ini」があるかをチェックして、
存在しなければ、「php.ini-production」をコピーした上でリネームして配置します。


今度は、Apacheの設定を確認していきます。
ApacheはPHPのバージョンが変わる際には記述を修正する必要があるためです。
「C:¥pg¥Apache¥Apache24¥conf¥httpd.conf」を操作します。事前に現状のファイルのバックアップを取ってから作業を始めることをお勧めします。
バックアップが取れたら、データを開き、「Dynamic Shared Object (DSO) Support」と記述された行を探してください。

下にスクロールしていくと…
「LoadModule php5_module c:/php/php5apache2_4.dll」という行が見えてきました。
「C:¥PHP」内で存在を確認したdllファイルと似た名前ですね。

先ほど確認したものは「c:/pg/php/php7apache2_4.dll」でした。違いは数字の部分。つまり、バージョンを表しています。
ですので、ここもバージョンが7に変わったことを読み込ませるために以下のように記述します。
LoadModule php7_module c:/php/php7apache2_4.dll
これで完了です!
Apacheを再起動させて、動作することをチェックします。
環境によっては、Windowsサーバ自体を再起動しないと動作が確認できない場合もあるので、ご注意ください。
そして、念の為phpが動くことを確認してみようと思ったら、、、
エラーが出ました、、笑

こんな時は、「Visual Studio」 の 「Microsoft Visual C++ 再頒布可能パッケージ」をインストールすれば、エラーが消えるみたいですよ!
