Windowsマシン上のPHPのいくつかのバージョン

非常に緊急なタスク:マウスをクリックしてWindowsマシン上のPHPのバージョンを変更できるようにする。 以前、httpd.confの3つのコピーが作成される同様の記事がありました。 なんで? 最も簡単な解決策がある場合。



Apache HTTPdからアーカイブをダウンロードし、フォルダー(たとえば、C:\ a \ apache)に解凍します。 フォルダC:\ a \ apache \ confに、2つの構成ファイルを作成します...



php5.conf
LoadModule php5_module "c:/a/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "c:/a/php"
      
      





php7.conf
 LoadModule php7_module "c:/a/php/php7apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "c:/a/php"
      
      





...そして次の行を追加します。



 Include conf/php.conf
      
      





Cをファイルするには:すべてのLoadModuleの後の\ a \ apache \ conf \ httpd.conf



シンボリックリンクを作成php.conf <===> php5.conf



非表示のテキスト
 mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php5.conf
      
      





PHPの必要なバージョンのダウンロード...





...そして、フォルダC:\ a \ php56およびC:\ a \ php70にそれぞれ展開します。



以前、Apacheの設定で、PHPをC:\ a \ phpディレクトリからフックする必要があることを示しました。したがって、シンボリックリンクphp <===> php56を作成します。



非表示のテキスト
mklink /dc:\a\php c:\a\php56





次に、サービスをインストールします...



非表示のテキスト
 c:\a\apache\bin\httpd -k install -n ApacheHTTPd c:\a\apache\bin\httpd -k start -n ApacheHTTPd
      
      





... bat'nikiを作成して、PHPのバージョンを選択します。



php56.bat
 @echo off c:\a\apache\bin\httpd -k stop -n ApacheHTTPd del c:\a\apache\conf\php.conf rd c:\a\php mklink /dc:\a\php c:\a\php56 mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php5.conf c:\a\apache\bin\httpd -k start -n ApacheHTTPd
      
      





php70.bat
 @echo off c:\a\apache\bin\httpd -k stop -n ApacheHTTPd del c:\a\apache\conf\php.conf rd c:\a\php mklink /dc:\a\php c:\a\php70 mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php7.conf c:\a\apache\bin\httpd -k start -n ApacheHTTPd
      
      





ここで、便宜上、bat'nikovのショートカットを作成し、各「管理者として実行」のプロパティで指定します。



ご清聴ありがとうございました!



UPD:



プロンプトで、 gewisserは少し違ったやり方をしました。



フォルダーC:\ a \ apache \ confに2つの構成ファイルが作成されました。



... PHP 5.6の場合

 LoadModule php5_module "c:/a/php56/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "c:/a/php56" Include "c:/a/apache/conf/httpd.conf"
      
      





... PHP 7.0の場合

 LoadModule php7_module "c:/a/php70/php7apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "c:/a/php70" Include "c:/a/apache/conf/httpd.conf"
      
      







... httpd.confファイルから行を削除しました

 Include conf/php.conf
      
      







そして、実行するためにbat'nikiを変更しました:



... PHP 5.6の場合

 @echo off & title Apache HTTPd with PHP 5.6 c:\a\apache\bin\httpd -k stop -n ApacheHTTPd c:\a\apache\bin\httpd -k uninstall -n ApacheHTTPd c:\a\apache\bin\httpd -k install -n ApacheHTTPd -f "c:/a/apache/conf/php56.conf" c:\a\apache\bin\httpd -k start -n ApacheHTTPd
      
      





... PHP 7.0の場合

 @echo off & title Apache HTTPd with PHP 7.0 c:\a\apache\bin\httpd -k stop -n ApacheHTTPd c:\a\apache\bin\httpd -k uninstall -n ApacheHTTPd c:\a\apache\bin\httpd -k install -n ApacheHTTPd -f "c:/a/apache/conf/php70.conf" c:\a\apache\bin\httpd -k start -n ApacheHTTPd
      
      







PS



この方法は、ある種のノウハウや数百万人が使用するものではなく、最も便利なオプションとしての投稿への答えにすぎません。



多くの人は多くのWAMP-kitに精通していますが、そのような記事が少なくないという事実から判断すると、誰もがそれらを使用したいとは限りません。



社会が気にしない場合は、類似のキットや類似の記事へのコメントリンクを書いて、それらを私の記事に添付します。



よろしくお願いします!



All Articles