メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • XAMPPに複数のPHP環境設定に引き起こしたcURLモジュールをロードする時のエラー

XAMPPに複数のPHP環境設定に引き起こしたcURLモジュールをロードする時のエラー

apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
apache
xampp

XAMPPに複数のPHPバージョンの導入

  • 一つのXAMPPパッケージに複数のPHPバージョン環境でテストすることがあります
    • 詳細は:XAMPP環境の複数バージョンのPHPをインストールと設定 を参考してください
  • もちろん、各PHPバージョンごとに、XAMPPをダウンロードして、必要応じで起動することもできます

新しいPHPバージョン(v7)を設定して、XAMPPが起動時にエラー:libssl2ロードエラー発生

  • 低いPHPバージョン(v5.6)のXAMPPにPHP7環境を設定して、Apacheを起動すると、エラーが発生しました。
  • libssh2.dllをロード時にエラーが発生したようです
    The procedure entry point libssh2_scp_recv2 
    could not be located in the dynamic link library

     

原因:XAMPPのApacheにあるlibssh2.dll、ssleay32.dll、libeay32.dllの古いのせい

  • XAMPPがphp5.6に対応するため、Apacheディレクトリにあるダイナミックライブラリ:libssh2.dll、ssleay32.dll、libeay32.dllのバージョンが低いため、appache起動時にphp_curl.dllロード時に上記エラーが発生しました。

解決:新しいバージョンのlibssh2.dll、ssleay32.dll、libeay32.dllの使用

  • 解決手法はいろいろ考えられます。例えば、XAMPPにあるApacheディレクトにあるlibssh2.dll、ssleay32.dll、libeay32.dllファイルをバージョンアップします
  • 複数のPHPバージョンがあるため、別のPHPバージョンを使用する際に、libssh2.dll、ssleay32.dll、libeay32.dllを更新することが面倒なので、この方法をあまりお勧めしません
  • 各PHPバージョンの定義ファイル(php.ini)に各自のlibssh2.dll、ssleay32.dll、libeay32.dllロードする記述をします
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libeay32.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/libssh2.dll"
    LoadFile "C:/develop/servers/xampp-5.6.15/php-7.0.27-Win32-VC14-x86/ssleay32.dll"
    extension=php_curl.dll
    
  • ポイントは:Pope_curl.dllをロードする前に、各PHP環境にあるlibeay32.dll、libssh2.dll、ssleay32.dllをロードします
xampp

やりたいこと:XAMPP環境で複数バージョンのPHPを使用したいです

  • 開発環境で複数バージョンのPHP(例:5.6、7.0、7.1など)で確認、テストすることがあります
  • XAMPPでは、単一のPHPバージョンなので、PHPバージョンに合わせてXAMPPをダウンロード、インストールして使用することが一般的です
  • 複数のXAMPPをダウンロード、ローカルにインストールすることを避けたいです
    • 複数のデータベースのデータを同期することが面倒です
    • Apache、MySQLなどを丸ごと複数存在するので、スマートなインストールとは言えないです
  • 調べてみたら、Apache,MySQLを共有する前提で、XAMPP環境で複数バージョンのPHPインストールするには、大体2種類の方法があります
    • 複数のバージョンのPHPをインストールして、違うポートでそれぞれのPHP環境を使用(利点:複数のPHP環境が同時に起動し、ブラウザで違うポートで違うPHP環境のテストができます。頻繁に違うPHPでのテストが必要であれば、これが良いでしょう)
    • 複数のバージョンのPHPを新ストールして、どっちを使用するかはApacheの設定ファイル(httpd.conf)より切り替えます(利点:設定するには簡単です。あまり頻繁にPHP環境を切り替え必要はなければ、これでも良いでしょう。)
  • どちらかを使用するかは、開発目的に合わせて選べばよいでしょう

複数バージョンのPHPをXMAPPにインストール

  • 例として、Apacheの設定ファイル(httpd.conf)よりPHP環境切り替え方式を説明します
  • 複数バージョンのPHPをXMAPPのルートディレクトリに入れます
    複数バージョンのPHP
  • 各バージョンのPHP環境のphp.iniを用意
    • 新規ダウンロードされたPHPフォルダにphp.ini-development、php.ini-productionがあります。どちらかをコピーしてphp.iniにファイル名を変更します
    • php.iniなのエクステンション、XDebugなどの必要な設定を行います(設定の詳細を省略)
    • 注意点:エクステンションのディレクトリ設定時に、フールパス設定したほうが良いでしょう(説明通り:extension_dir="ext"ではうまくいかない場合があります)
      PHPのエクステンションディレクトにフールパス
  • Apacheで複数バージョンのPHP環境呼び出しファイルを用意します
    • パス: XAMPP\apache\conf\extra の下
    • 元のPHP設定ファイル:httpd-xampp.conf、これをコピーして、それぞれのPHPバージョンに分けます
      Apacheで複数のPHP設定ファイル作成
    • このPHP設定ファイルにそれぞれのPHP環境パスに合わせて、変更します
      Apacheのphp設定

ApacheのPHP呼び出し記述をスイッチに

  • Apacheの設定ファイル:"C:\develop\servers\xampp-5.6.15\apache\conf\httpd.conf" にあるPHP呼び出しのところ( Include "conf/extra/httpd-xampp70.conf" )を見つけ出します
    Apacheから起動するPHP選択
  • 起動したPHPバージョン環境を書き換えて、そのバージョンのPHP環境起動用意は完了します
  • 上記設定が完了したらApacheを再起動します
  • 弱点はPHP環境を切り替えるときにここでPHP環境設定ファイルを切り替え必要があります
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)