XAMPP環境でPHPを8.1から8.3にバージョンアップする手順と注意点
作成日:2025.01.22
XAMPP環境のPHPを8.3にアップデートする際の具体的な手順を解説します。また、curl関連のエラーとその解消方法についても触れています。
WindowsのXAMPP環境のPHPを8.1から8.3にバージョンアップした際の作業メモです。
PHPのバイナリをダウンロード
PHP For Windows: Binaries and sources Releasesより、「x64 Non Thread Safe」のzipをダウンロードして解凍。
※XAMPPのApacheがスレッドセーフでないため、Non Thread Safe(NTS)バージョンを選択します。
XAMPP内に設置
XAMPP内の現行の「php」ディレクトリを「php.8.1」等にリネームし、先ほど解凍した新しい方の「php」ディレクトリをXAMPP内に設置。
旧phpディレクトリ内のphp.iniを、新ディレクトリにコピーする。
旧バージョンのphp.iniを使用する場合、設定が新しいバージョンと互換性があるか注意してください。挙動が怪しい場合は、新しいバージョンに付属する「php.ini-production」または「php.ini-development」をベースに再設定することを推奨します。
PHPの起動を確認
コマンドプロンプトで、以下のコマンドを実行。
php -v
PHPのバージョンが新しいものに変わっていることを確認。
続いてXAMPPのコントロールパネルからApacheを再起動。
すると以下のエラーが出た。
SSL_CTX_set_post_handshake_authがダイナミンクリンクライブラリ c:\xampp\php\ext\php_curl.dllから見つかりませんでした。
curl絡みの問題のようなので、色々調べてみたところ、php\libssh2.dllをapache\bin\libssh2.dllにコピーすることで解決した。
※参考:Windows10 + PHP7.2+Apache2.4でcurlを有効にする
※このエラーは、curlライブラリがSSH通信のために「libssh2.dll」を必要とするために発生するようです。
PHPでのシステム開発でお困りではありませんか?
本記事のようなPHPのバージョンアップ作業や開発環境の整備に限らず、PHPを用いたWebシステムの開発・保守・改善に関するご相談を承っております。
新規開発、既存システムのリファクタリング、パフォーマンスチューニング、セキュリティ対策など、幅広いニーズに対応可能です。お気軽にご相談ください。

奈良市を拠点に、26年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
XAMPP環境にComposerをインストールする方法
2023.04.26
XAMPP環境にComposerを簡単にインストールする手順を紹介します。Windows向けインストーラーを使ったシンプルなインストール方法を解説します。
OpenAI API 実践例:Chat Completions API で JSON形式レスポンスを取得する方法
2025.06.04
OpenAI API の Chat Completions API を用いて、レスポンス形式を JSON に固定する実装手法を紹介します。PHP を使った具体的なコード例を通じ、response_format パラメータの設定方法や利用シーン、最新モデルでのオプション利用まで解説しています。
CodeIgniter 4 クエリビルダ入門 ― 実践的なデータ操作とSQL組み立てのテクニック
2025.05.30
CodeIgniter 4 のクエリビルダの基本から実践的な利用方法までを、具体的なコード例とともに解説します。単純な条件指定から複雑なAND/ORや部分一致検索、IN句など、さまざまな使い方を段階的に学ぶことができます。これにより、SQL文を直接記述せずに柔軟なデータ操作が可能になる手法をご紹介します。
CodeIgniter 4 フォーム入力バリデーション入門 ― 基本操作とカスタマイズ手法
2025.04.06
CodeIgniter 4でのフォーム入力値取得とバリデーション処理を、シンプルな実装例を通して解説します。基本的なルール設定から、エラーメッセージの出力、フォームラベルの日本語化やローカライズ方法まで、実践的なテクニックをコンパクトにまとめています。