Windows10にPHP5.2.8をインストール
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
2019年10月22日(約5年前)の記事となっております。色々ご注意ください。
覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。
PHP5.2.8をCentOS6にインストールする記事はこちらです。
特徴
- Windows10
- 複数バージョンの共存
特定バージョンでの開発や動作確認など開発環境での用途を目的としています。
環境
作業日 | 2019-09-27 |
OS | Windows10 64bit |
ダウンロード
公式サイトから取得
公式サイトからダウンロードします。
https://www.php.net/downloads.php
上記は最新バージョンのページですので、古いバージョンは「Old archives」から取得します。
https://www.php.net/releases/
いっぱい出てきますが、ブラウザの検索機能から「5.2.8」で検索するとスグです。
いくつか種類があります。
今回は、Windows版 かつ Zip版が欲しいので、「PHP 5.2.8 zip package」をクリックします。
最近のバージョンだと64bit版とかありますが、この時代は32bit版だけです。
「PHP 5.2.8 zip package」 をクリックするとダウンロードダイアログが出てきますのでそのまま「保存」します。
php-5.2.8-Win32.zip
がダウンロードされます。
インストール
解凍して配置
zipと同名のディレクトリを作成して解凍します
ドライブレター:\www\php\php-5.2.8-Win32
ZIPを保存
この作業はどっちでも良いですが、ダウンロードしたzipは念のため削除せず残すようにしています。
ドライブレター:\www\archive
ここにダウンロードしたzipをそのまま保存します。
初期設定
php.ini を作成
php.ini-dist をコピーして、ファイル名を php.ini にします。
エクスプローラから普通に右クリックして「 コピー 」の右クリックして「 貼付 」の右クリックして「名前の変更」です。
php.iniの設定変更
下記の設定は一例です。
この通りにしなくても構いませんし、意味を知った上でご自身の判断で設定してください。
491行目 拡張の保存場所
先頭のセミコロンを外します。
;extension_dir = "./"
↓
extension_dir = "ext"
610 ~ 654行目 拡張の有効化
必要なもののセミコロンを外します。
※下記リスト、分かりづらくなるので無効にしておくものは省略しています。
extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
※php_exif.dll を有効にすると「Internal Server Error」になるため外しました。
662行目 デフォルトのタイムゾーン
先頭のセミコロンを外して、東京にします。
;date.timezone =
↓
date.timezone = Asia/Tokyo
992行目 セッションファイルの保存先
先頭のセミコロンを外して、デフォルトの保存先を変えます。
;session.save_path = "/tmp"
↓
session.save_path = "E:/www/httpd/session_save_path"
最終行に追記 curlの証明書
curlで https:// なページにアクセスしたいなら必要です。
cacert.pem は curl のサイトのこちら から入手できます。
[curl]
curl.cainfo = E:\パス\www\ca\cacert.pem
最終行に追記 opensslの証明書
file_get_contents() とかで https:// なページにアクセスしたいなら必要です。
cacert.pem は curl のサイトのこちら から入手できます。
[curl]
curl.cainfo = E:\パス\www\ca\cacert.pem
ApacheのVirtualHostに設定
本記事では、Windows10 での Apache、MySQL、PHPの組合せを前提としています。
ここでは、AmacheのVirtualHostでの設定例を記します。
次のように、Directory で使用するPHPバージョンを指定しています。書き方を工夫すれば、同一ドメイン内でもディレクトリごとにPHPバージョンを変えることも可能です。
##############################################################################
# directory
##############################################################################
<directory "f:="" www="" vhosts="" example.com="" public_html"="">
AddHandler cgi-script .cgi
AddHandler fcgid-script .php
# AddHandler fcgid-script .php .html
# FcgidWrapper "E:/パス/www/php/php-7.3.10-Win32-VC15-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-7.3.2-Win32-VC15-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-7.2.2-Win32-VC15-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-7.1.4-Win32-VC14-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-7.0.13-Win32-VC14-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-7.0.8-Win32-VC14-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-5.6.31-Win32-VC11-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-5.6.8-Win32-VC11-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-5.5.23-Win32-VC11-x64/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-5.4.43-Win32-VC9-x86/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-5.3.13-Win32-VC9-x86/php-cgi.exe" .php
FcgidWrapper "E:/パス/www/php/php-5.2.8-Win32/php-cgi.exe" .php
# FcgidWrapper "E:/パス/www/php/php-4.3.9-Win32/php-cgi.exe" .php
DirectoryIndex index.php index.html index.htm index.cgi
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Require ip 127.0.0.1
Require ip 192.168.11.0/24
</directory>
##############################################################################
# http
##############################################################################
<virtualhost *:80="">
DocumentRoot "F:/www/vhosts/example.com/public_html"
ServerName example-com-local.aulta.jp
</virtualhost>
##############################################################################
# https
##############################################################################
<virtualhost *:443="">
DocumentRoot "F:/www/vhosts/example.com/public_html"
ServerName example-com-local.aulta.jp
</virtualhost>
ちなみに example-com-local.aulta.jp は、「a example-com-local 127.0.0.1」 です。
これを 「a example-com-local 192.168.1.1」とかってローカルIPを指定しておくと、ローカル内のスマホとかタブレットとか同僚のPCからでも見れるようになるので便利です。