itsource

XAMPP에서 2개의 PHP 버전을 사용하는 방법이 있습니까?

mycopycode 2022. 11. 14. 21:38
반응형

XAMPP에서 2개의 PHP 버전을 사용하는 방법이 있습니까?

새로운 제품에는 PHP 7이 필요하기 때문에 PHP 7.0에서 XAMPP를 실행하고 있습니다.

옛날 에는 '하다'와 같은 하는 것도 .mysql_connectPHP 7.0으로 변경.

그럼 XAMPP에서 PHP 버전을 쉽게 변경할 수 있는 방법이 있을까요?

주의: 오래된 프로젝트를 새로운 버전과 호환되는 것으로 업그레이드 하는 것은 제안하지 말아 주세요.개발자(종업원만)로서 얻을 수 없는 결정이기 때문에 저는 그것을 할 수 없습니다.

단일 xampp 설치여러 PHP 버전을 동시에 사용할 수 있는데 왜 PHP 버전 간에 전환합니까?

단일 xampp 설치에서는 다음 2가지 옵션이 있습니다.

  1. 이전 프로젝트의 디렉토리에 대해서만 이전 버전의 PHP를 실행합니다.이것은 대부분의 시간 동안 그 목적에 도움이 될 것이다.오래된 PHP 버전으로 실행하려는 오래된 프로젝트가 하나 또는 두 개 있을 수 있습니다.이러한 프로젝트 디렉토리에 대해서만 이전 버전의 PHP를 실행하도록 xampp를 구성하십시오.

  2. 다른 xampp 포트에서 이전 버전의 PHP를 실행합니다.때로는 오래된 프로젝트를 최신 PHP 버전으로 업그레이드하면서 동시에 새로운 PHP 버전과 이전 PHP 버전 간에 동일한 프로젝트를 실행해야 할 수도 있습니다.이를 위해 오래된 PHP 버전을 다른 포트(8056)에 설정할 수 있으므로http://localhost/any_project/하고, 에 하면 xampp PHP 7을 실행합니다.http://localhost:8056/any_project/5.xampp PHP 5.6을 합니다.

  3. 가상 호스트에서 이전 버전의 PHP를 실행합니다.localhost56과 같은 가상 호스트를 생성하여 PHP 5.6을 실행하고 로컬 호스트에서 PHP 7을 사용할 수 있습니다.

셋업합시다

순서 1: PHP 다운로드

따라서 xampp에서 PHP 7을 실행하고 있는 경우 이전 버전의 PHP를 추가하려고 합니다(예를 들어 PHP 5.6).php.net에서 PHP zip 아카이브의 nts(Non Thread Safe) 버전을 다운로드하고(이전 버전은 아카이브 참조) 아래 파일을 추출합니다.c:\xampp\php56php-cgi.실행하다

순서 2: 설정php.ini

.c:\xampp\php56\php.ini메모장에 있습니다.하지 않는 는, 합니다.php.ini-development로로 합니다.php.ini메모장에서 열 수 있습니다.을 하다

extension_dir = "ext"

Apache config에 Apache 설정httpd-xampp.conf

SetEnv PHPRC "\\path\\to\\xampp\\php"

선두 #(마지막 문자)로 코멘트를 붙입니다.

순서 3: Apache 설정

apache 후 apache를 합니다.Apache (httpd-xampp.conf)텍스트 파일이 열립니다.파일 하단에 다음 설정을 추가합니다.

ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

주의: 1단계에서 3단계에 이어 xampp 설치에 PHP 버전을 추가할 수 있습니다.

스텝 4(옵션 1): [특정 PHP 버전을 실행하기 위한 디렉토리 추가]

할 수 있습니다. 파일의합니다(「PHP 5.6」). 구성 파일의 맨 아래에 다음을 추가하십시오.httpd-xampp.conf디렉토리를 설정합니다.

<Directory "C:\xampp\htdocs\my_old_project1">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php56-cgi
    </FilesMatch>
</Directory>

<Directory "C:\xampp\htdocs\my_old_project2">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php56-cgi
    </FilesMatch>
</Directory>

스텝 4(옵션 2): [다른 포트에서 이전 버전의 PHP 실행]

80566 을 하려면 , 파일의 아래에 추가합니다( 「8056」 「PHP v5.6」 ) 。httpd-xampp.conf(으)ㄹ게요.

Listen 8056
<VirtualHost *:8056>
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php56-cgi
    </FilesMatch>
</VirtualHost>

스텝 4(옵션 3): [가상 호스트에서 이전 버전의 PHP 실행]

디렉토리(htdocs56)에 가상 호스트(localhost56)를 생성하여 http://localhost56에서 PHP v5.6을 사용하려면 원하는 위치에 디렉토리 htdocs56을 만들고 localhost56을 호스트 파일에 추가한 후(방법을 참조) 다음 코드를 설정 파일 하단에 추가합니다( 참조).httpd-xampp.conf(으)ㄹ게요.

<VirtualHost localhost56:80>
    DocumentRoot "C:\xampp\htdocs56"
    ServerName localhost56
    <Directory "C:\xampp\htdocs56">
        Require all granted    
    </Directory>
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php56-cgi
    </FilesMatch>
</VirtualHost>

종료: Apache 저장 후 재시작

컨피규레이션파일을 저장하고 닫습니다.xampp 제어판에서 apache를 재시작합니다.옵션 2를 선택하면 xampp 제어판에 추가 포트(8056)가 표시됩니다.

구성된 포트로 실행되는 Apache를 보여주는 xampp 제어판

필요한 모든 버전의 PHP를 다운로드하여 자신의 디렉토리에 배치할 수 있습니다.

c:\php5\

c:\php7\

(아파쉬) PHP를 사용하다PHP는 적절한 모듈을 로드하여 사용할 수 있습니다.에서는 Apache 하여 이 할 수 있습니다.httpd.conf적절한 행을 편집합니다.

LoadModule php7_module c:\php7\libphp7.so

물론 올바른 경로를 알아내야 합니다. 이것은 단지 예시를 위한 것입니다.

httpd.conf서버를 재기동합니다.다시 시작하지 않으면 변경 사항이 적용되지 않습니다.

GUI를 ..conf아파치몇 않습니다. 할 도 있기 때문에, 「은 키 몇 번밖에 로 하지 않습니다.를 들어 「스위칭」은 몇 번에 걸리지 않습니다.

PHP 5 사용:

LoadModule php5_module c:\php5\libphp5.so
#LoadModule php7_module c:\php7\libphp7.so

PHP 7 사용:

#LoadModule php5_module c:\php5\libphp5.so
LoadModule php7_module c:\php7\libphp7.so

여러 버전의 XAMPP, 듀얼 부트, 다른 머신 또는 복잡한 회피책을 제안하고 있는 기타 "솔루션"은 필요하지 않습니다.OP는 XAMPP를 사용하여 어떤 버전의 PHP를 사용할지 지시하려고 합니다.이 방법은 가장 빠르고 효율적인 방법으로 XAMPP를 1개만 설치하면 됩니다.

2017년 11월 1일 편집: 일부에서는 없다고 합니다..so파일을 표시합니다.은 제 을 사용하지만 은 Mac을 사용함)에 해 놓은 으로 한 입니다..so(''」).dll단, 은 여전히 정확하다. 이치노Apache Apache를 .httpd.confPHP 모듈의 위치를 지정합니다(.so ★★★★★★★★★★★★★★★★★」.dll에누리하다따라서 Windows의 유일한 차이점은 파일 이름 및/또는 경로 위치입니다.Apache/PHP(XAMPP는 전혀 사용하지 않음)를 바닐라로 설치하는 경우에도 답변이 정확합니다.

다음과 같이 2개의 다른 xampps를 다운로드하여 설치할 수 있습니다. (첫 번째는 php7초, 두 번째는 php5)

만약 그렇게 하고 싶지 않다면 여기 보이는 처럼 wamp를 사용하여 버전을 변경하는 것이 좋습니다.

Docker를 사용하면 환경을 다양한 컴포넌트로 분할하여 원하는 컴포넌트를 언제든지 조합할 수 있습니다.

Docker는 MySQL과 PHP를 사용하여 하나의 컨테이너를 실행할 수 있도록 합니다.이들은 별도의 이미지이므로 두 개의 컨테이너를 가질 수 있습니다. 하나는 PHP 5이고 다른 하나는 PHP 7입니다. 원하는 어떤 것이든 시작하고 포트 80은 두 컨테이너에 매핑할 수 있습니다.

https://hub.docker.com에는 다양한 사전 구성된 이미지가 준비되어 있어 설치 및 실행이 용이합니다.

, 도커 이미지내에서 도커 설정의 다양한 측면을 관리할 수 있는 포토 라인도 추가했습니다(명령줄을 사용할 필요가 없어지기 위해서 기동시에 이 컨테이너를 기동했습니다).모든 것을 할 수 있는 것은 아닙니다.커맨드 라인에서 처음으로 이미지를 설정 및 기동하는 것이 간단할 수 있습니다.다만, 셋업이 끝나면, Web 인터페이스를 개입시켜 이미지를 기동 및 정지할 수 있습니다.

또한 두 컨테이너를 동시에 실행하고 개별 포트를 각각에 매핑할 수도 있습니다.따라서 포트 80을 PHP 5에 매핑하고 81을 PHP 81에 매핑할 수 있습니다(또는 2017년에 이를 시청하는 경우에는 PHP 7).

도커(https://docs.docker.com/engine/installation/))의 인스톨 방법에 관한 튜토리얼이 다수 준비되어 있습니다.또, 그 외의 「사용법」타입도 다수 준비되어 있습니다.개발 환경 설정에 대해서는, http://www.masterzendframework.com/docker-development-environment/ 를 사용해 주세요.

꼭 XAMPP일 필요는 없지만 WAMP로 원하는 것을 얻을 수 있습니다.WAMP는 다른 패키지로도 거의 동일합니다.

일단 설치되면 여기서 php 버전 간에 전환할 수 있습니다.

여기에 이미지 설명 입력

필요한 만큼 PHP 버전을 설치할 수 있습니다.

자세한 방법은 다음과 같습니다.

여기를 클릭하세요:WAMP 다운로드

그런 다음 기본 서버(예: php7 최신 버전)를 선택합니다.

그런 다음 WAMP 3이 설치되면 folder: addons로 이동하여 원하는 php 버전을 선택합니다.이들은 mysql_connect와 연동되는 php 5.3.29부터 php 플레이버를 제공합니다.

애드온을 인스톨 하려면 , 인스톨중에(exe 파일을 더블 클릭), WAMP 3 가 인스톨 되고 있는 폴더를 가리킵니다.

그런 다음 응용 프로그램 등 다른 폴더의 콘텐츠를 사용하여 기능을 추가할 수 있습니다.

모든 것이 인터페이스이기 때문에 환경을 해킹하지 않고 코딩에 집중할 수 있습니다.

저는 직장에서 10년 된 프로젝트를 하고 있습니다.5.6이 기본입니다.5.2에서만 작동하는 오래된 작은 프로젝트도 있고 7.3.8에서 개인 프로젝트를 위해 새로운 버전을 만들고 싶습니다.

디폴트 5.6 버전에 5.2와 7.3.8을 추가하기 위해 다음과 같이 했습니다.

1 - 다운로드한 php TS 버전;

  • v7.3.8 (표준) : https://windows.php.net/download/

  • v5.2 : https://www.apachelounge.com/viewtopic.php?t=7349

2 - c:\xampp\php738 및 c:\xampp\php52 폴더에 순서대로 압축을 푼다.

3 - 다음 행을 httpd-xampp.conf(또는 httpd.conf) 하단에 추가.

*** 중요사항 : 스크립트 에일리어스 이름을 타겟 폴더명으로 사용하지 마십시오.이들은 서로 달라야 합니다.(예를 들어 /php7x는 OK, /php7은 OK가 아닙니다)

폴더 D:\www\php7의 PHP 7.3.8

ScriptAlias /php7x "C:/xampp/php738"
Action application/x-httpd-php7-cgi /php7x/php-cgi.exe
<Directory "C:/xampp/php738">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

<Directory "D:\www\php7">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php7-cgi
    </FilesMatch>
</Directory>

폴더 D:\www\php52의 PHP 5.2

ScriptAlias /phpold "C:/xampp/php52"
Action application/x-httpd-phpold-cgi /phpold/php-cgi.exe
<Directory "C:/xampp/php52">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

<Directory "D:\www\php52">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-phpold-cgi
    </FilesMatch>
</Directory>

도움이 되는 주의사항

  • 컴포저 스위치 터미널을 7.3.8로 사용하는 동안 php5.x에서 문제가 발생한 경우
  • 만약 당신이 php 7.3.8을 윈도우의 기본 명령줄 php 인터프리터로 만들고 싶다면, 당신의 윈도우 환경 경로를 7.3.8 폴더 경로로 변경하세요.
  • 각 버전 폴더에서 필요한 경우 관련 php.ini Conf를 편집하는 것을 잊지 마십시오.

또한 마지막 보너스 메모로서 버전 중 하나를 사용하여 가상 호스트를 설정할 필요가 있는 경우 유사한 방법을 사용할 수 있습니다.php 7.3.8 용 laravel vhost conf 샘플.

<VirtualHost *:80>
ServerAdmin admin@laravel.local
DocumentRoot "D:\www\vhosts\laravel.local\public"
ServerName  laravel.local
<FilesMatch "\.php$">
 SetHandler application/x-httpd-php7-cgi # escape for default php version
#SetHandler application/x-httpd-phpold-cgi # unescape for php 5.2
</FilesMatch>

ErrorLog "logs/laravel.local.log"
CustomLog "logs/laravel.local.log" combined

자세한 답변을 주신 @Munim Munna님 덕분에 위의 중요한 공지사항과 견실한 샘플을 공유하고 싶었습니다.

네, 가능합니다.xampp는 이미 설치되어 있을 것입니다.그렇게,

  • 모든 xampp 인스턴스를 닫습니다.작업 관리자를 사용하여 apache 및 mysqld를 중지합니다.
  • 그런 다음 xampp 이름을 xampp1 또는 다른 이름으로 변경합니다.
  • 이제 다른 xampp 버전을 다운로드합니다.폴더 이름 xampp만 만듭니다.다운로드한 xampp를 설치합니다.
  • 이제 요구 사항의 xampp 버전에 따라 대상 폴더의 이름을 xampp only로 변경하고 다른 폴더의 이름을 다른 이름으로 변경합니다.

이렇게 여러 xampp가 설치되어 있습니다.

유니저버를 사용합니다.

이 기능은 내장되어 있습니다.

http://www.uniformserver.com/

그렇게 간단하다.

Uniform Server는 Windows용 무료 경량 WAMP 서버 솔루션입니다.24MB 미만의 모듈식 설계에는 최신 버전의 Apache2, Perl5, PHP(PHP53, PHP54, PHP55 또는 PHP56 전환), MySQL5 또는 MariaDB5, phMyAdmin 또는 Adminer4가 포함되어 있습니다.인스톨이 불필요합니다.레지스트리 먼지 없음!짐 풀고 발사해!

플래시 드라이브에서도 구동됩니다.cron 에뮬레이션, perl, mariaDB, 몇 가지 버전의 Mysql, filezilla 서버 및 기타 몇 가지 기능이 있습니다.

여기에 이미지 설명 입력

XAMPP에는 2가지 버전이 있습니다.

  • 이러한 파일을 https://www.apachefriends.org/download.html 에서 다운로드해, 예를 들면 C:\5.6.31\xampp 와 C:\7.1.18\xampp 와 같이, 선택한 디렉토리에 인스톨 합니다.
  • 인스톨이 완료될 때마다, 인스톨 끝난 디렉토리(예:C:\5.6.31\xampp, C:\7.1.18\xampp)를 실행하고 "setup_xampp.bat"을 실행하면 다음과 같은 메시지가 나타납니다.
  • 바탕화면에 "xampp-control.exe" 바로 가기를 만들고("xampp-control.exe" 오른쪽 클릭 -> 바탕화면에 보내기) "xampp 5.6.31" 및 "xampp 7.1.8"과 같이 바로 가기 이름을 변경할 수 있습니다.
  • "xampp-control.exe" 또는 이전에 만든 바로 가기를 두 번 클릭하여 XAMPP 제어판을 시작하고 Apache 및 MySQL 서버를 시작합니다.
  • 설치를 테스트하려면 브라우저를 열고 위치 표시줄에 127.0.0.1 또는 localhost를 입력합니다.XAMPP 시작 화면이 나타납니다.
  • 여러 XAMPP 제어판을 열지 마십시오.
  • XAMPP 언인스톨?xampp 디렉토리를 삭제하기만 하면 됩니다.하지만 그 전에 apache와 mysql을 종료해 주세요.
  • 그게 다예요.대응하는 XAMPP 제어판을 여는 다른 php 버전을 사용할 수 있습니다.

명령 프롬프트 창(cmd.exe)에서 실행합니다.

set PATH=C:\xampp\php;%PATH%

php 7 설치를 어디에 두느냐에 따라 변경합니다.

단일 XAMPP 설치로 여러 버전의 PHP를 설정할 수 있습니다.다음의 순서는, Windows 에 대응하고 있습니다.

  1. Windows용 최신 XAMPP 버전을 설치합니다(내 경우 PHP 7.1 사용).
  2. Apache가 XAMPP 제어판에서 실행되고 있지 않은지 확인합니다.
  3. 인스톨 디렉토리의 이름을 합니다(XAMPP 디렉토리에는, 「Php」가).C:\xampp\php되세요C:\xampp\php-7.1.11.
  4. 추가로 실행할 PHP 버전을 다운로드합니다(예: PHP 5.4.45).
  5. 다운로드한 버전에서 XAMPP 설치 디렉토리로 php 디렉토리를 이동합니다.PHP는 PHP를 참조해 주세요.를 들면, 「」등C:\xampp\php-5.4.45.

이제 XAMPP 및 Apache 설정을 편집해야 합니다.

  1. »C:\xampp\apache\conf\httpd.confPHP XAMPP가 있습니다.이 설정을 다음과 같이 변경해야 합니다.

코멘트할(with 멘트와와와와와)#Include이치노

#XAMPP settings PHP 7
Include "conf/extra/httpd-xampp.conf.7.1"

#XAMPP settings PHP 5.4.45
#Include "conf/extra/httpd-xampp.conf.5.4.45"
  1. , 그럼 이제 ㅇㅇㅇㅇㅇㅇㅇㅇㅇ는요.C:\xampp\apache\conf\extra 이름 변경 " " " "httpd-xampp.conf로로 합니다.httpd-xampp.conf.7.1합니다.httpd-xampp.conf.5.4.45제 경우 버전별로 구문이 약간 다를 수 있기 때문에 PHP 5.5용 XAMPP 설치의 conf 파일을 복사했습니다.

  2. ★★httpd-xampp.conf.5.4.45 ★★★★★★★★★★★★★★★★★」httpd-xampp.conf.7.1 모든 해서 쓰도록 하겠습니다.php 「」」php-X.X.여기서 각 파일에 대해 10개 이상의 변경을 해야 합니다.

  3. php.ini를 사용합니다.를 들어 7. php 7.1을 합니다.C:\xampp\php-7.1.11\php.ini로 바꿉니다.include_path,browscap,error_log,extension_dir

이치노XAMPP 아파치 다른.C:\xampp\apache\conf\httpd.confApache는 PHP를 사용합니다.

다음의 간단한 순서를 따릅니다.저는 현재 PHP 7.2에서 XAMPP를 실행하고 있지만 오래된 프로젝트에서 작업하려면 PHP 5.6이 필요합니다.

순서 1

https://windows.php.net/download에서 스레드 세이프 버전의 PHP를 다운로드합니다.

[드라이브]에 파일 저장:\xampp\syslog5.6

  • 새 php 버전에 따라 폴더 이름 변경

순서 2

복사 [드라이브]:\xampp\conf\conf\syslogd-xampp.conf

새 php 버전에 따라 파일 이름을 변경하고 여기에 저장합니다. [드라이브]:\xampp\conf\conf\syslogd-xampp5.6.conf

순서 3

새로 작성한 'httpd-xampp5.6.conf'를 편집합니다.

기본적으로 모든 PHP 소스와 .dll을 변경해야 합니다.

전에

LoadFile "C:/xampp/php/php7ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"

끝나고

LoadFile "C:/xampp/php5.6/php5ts.dll"
LoadFile "C:/xampp/php5.6/libpq.dll"
LoadModule php5_module "C:/xampp/php5.6/php5apache2_4.dll"

여기 제 파일이 있습니다.https://gist.github.com/mpalencia/f8a20c31bffb02fe20d371218c23d1ec

순서 4

파일 [드라이브] 편집:\xampp\conf\conf\compd.conf

전에

# XAMPP settings
Include "conf/extra/httpd-xampp.conf"

끝나고

# XAMPP settings
Include "conf/extra/httpd-xampp5.6.conf"
  • 다른 버전으로 전환할 때 이 라인을 편집할 수 있습니다.

순서 5

PHP 5.6 구성 편집 - php.ini

확장 디렉토리 extension_directory = "C:\xampp\php5 를 추가합니다.6\ext"

순서 6

Apache 시작

순서 7

Windows에서 PHP 환경 변수 경로 편집

이 질문에 대한 가장 기술적인 답변은 아닐 수 있지만, 가장 쉽게 대답할 수도 있습니다.

C:D: 같은 두 개의 드라이브가 있는 경우 두 드라이브에 각각 다른 버전의 PHP로 XAMPP 인스턴스를 설치할 수 있습니다.이 작업은 10분도 걸리지 않았으며 오류 발생률이 가장 낮습니다.

xampp-control에 대해 2개의 데스크톱숏컷을 작성하기만 하면 됩니다.php 버전 뒤에 단축키 이름을 붙입니다.나는 이것이 매우 빠르고 더러운 해결책을 선호하는 나 같은 사람에게 도움이 되기를 바란다.

이 구성에서는 MAMP를 사용하는 것만으로 시간을 낭비할 필요가 없습니다.

MAMP에는 인터페이스에 PHP 버전 선택 기능이 있습니다.

새로운 조사 결과를 공유하겠습니다.https://laragon.org/docs/index.html

한 시간밖에 안 썼는데 유망해 보여요.

  • PHP 버전을 추가 및 전환할 수 있습니다.
  • 원클릭으로 워드프레스, 라라벨 등의 인스톨러를 갖추고 있습니다.
  • 각 앱의 이름을 사용하여 vhosts를 자동으로 생성합니다(예: appname.test).
  • 현재 htdocs 폴더를 루트 www 폴더로 선택할 수 있습니다.
  • 다른 PHP 버전을 추가하여 폴더에 압축을 풀고 목록에서 선택합니다.
  • 변경 후 아파치를 자동으로 새로고침합니다.
  • phpMyAdmin 추가는 다운로드하여 {LARAGON_DIR}\etc\apps\phpMyAdmin 등에 저장하는 것만으로 간단합니다.

Laragon DOCS

다른 PHP 버전을 Laragon에 추가하는 방법

Laragon에 phpMyAdmin을 추가하는 방법


나는 라라곤과 어떤 관계도 없다.구글에서 "XAMPP Windows 대체 제품"을 찾고 있습니다.

magento2 설치 시 ~7.3.0이 필요하지만 7.4.1이 있습니다.그래서 이 방법으로 php 버전을 다운그레이드했습니다.

순서 1: 여기서 NTS 버전 https://windows.php.net/downloads/releases/archives/에서 Php 버전을 다운로드하여 이 버전을 c:\xampp\에 붙여 넣습니다.이 버전은 'snt71'로 명명됩니다.

순서 2: 가상 호스트 환경을 셋업하고, 그 외의 변경을 실시합니다."c:\xampp/\pache\conf\extra\httpd-vhosts.conf" 로 이동하여 코드 스니펫을 행 끝에 넣습니다.

<VirtualHost 127.0.0.1:80>
    DocumentRoot "C:/xampp/htdocs/magento/crashcourse/"
    ServerName magento2.test
    <Directory "C:/xampp/htdocs/magento/crashcourse/">
        Require all granted    
    </Directory>
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php71-cgi
    </FilesMatch>
</VirtualHost>

'C:'로 이동합니다.\Windows\System32\drivers\etc\hosts"를 클릭하여 관리자 권한을 사용하여 파일을 편집한 후 줄 끝에 코드를 추가합니다.

127.0.0.1 magento2.test

Apache Config 파일 "c:/xampp/apache/conf/extra/httpd-xampp.conf"로 이동하여 줄 끝 코드 아래에 붙여넣습니다.

ScriptAlias /php71 "C:/xampp/php71"
Action application/x-httpd-php71-cgi /php71/php-cgi.exe
<Directory "C:/xampp/php71">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
    SetEnv PHPRC "C:/xampp/php71"
</Directory>

자, 다 됐어요.url:http://magento 2.test all work fail!

심플하고 간단한 순서는

  • 원하는 php 버전을 xampps로 설치합니다.
  • C:\xampp 폴더의 이름을 C:\xampp74로 변경합니다.
  • 다음과 같이 다른 xampps를 다운로드하여 설치합니다. (첫 번째는 php7 초는 php8)
  • 이제 php 버전이 다른 두 개의 다른 xampp이 있습니다.
  • 이치카미
    • Apache 및 mysql 중지 및 xampp 종료
    • 폴더 이름을 xampp로 변경, 다른 xampp 폴더의 버전 이름을 기억하도록 변경
    • Apache와 mysql을 다시 시작합니다(이름을 바꿀 수 없는 경우 다시 시작하고 시도합니다).

저도 최근에 같은 상황에 처해서 다음 단계로 해결했습니다.

1단계: php.net에서 PHP zip 아카이브의 nts(Non Thread Safe) 버전을 다운로드합니다.그런 다음 기본 php 폴더와 동일한 수준인 xampp 폴더에 압축을 풉니다.xampp 폴더는 다음과 같습니다.

여기에 이미지 설명 입력

순서 2:

  • 받은 다 open open운운 open open open open open open open open를 엽니다.를 .php 파일 coppyphp.ini-development로로 합니다.php.ini★★★★★★★★★★★★★(노트북, 노트북 추가+...) 누르다.누르다Ctrl+F 및 텍스트: " " " " " " 。extension_dir = "ext"그런 다음 줄의 선두에 있는 세미콜론을 제거하여 이 줄의 코멘트를 해제합니다.

여기에 이미지 설명 입력

  • 해 .extension=curl extension=ftp extension=fileinfo extension=mysqli extension=openssl extension=pdo_mysql

여기에 이미지 설명 입력

순서 3:

  • ㅇㅇㅇㅇㅇㅇ로 가보세요.xampp.httpd-xampp.conf{disk_name}/xampp/apache/conf/extra/httpd-xampp.conf(치환){disk name}ampp)을 사용하다
  • 들어 D에 했습니다.httpd-xampp.conf이제 될 것이다D:\xampp\apache\conf\extra\httpd-xampp.conf.
  • 설정 후 Apachexampp」 「apache」)를 합니다.httpd-xampp.conf를 참조해 주세요.

여기에 이미지 설명 입력

  • 다음, 이 에 다음 .httpd-xampp.conf변경 후 " " " " 를 변경합니다./php8_1 ★★★★★★★★★★★★★★★★★」D:/xampp/php8_1/php php php php php php php php php php php php php php php php php php php php 。
ScriptAlias /php8_1/ "D:/xampp/php8_1/" 
Action application/x-httpd-php8_1-cgi "/php8_1/php-cgi.exe" 
<Directory "D:/xampp/php8_1">
       AllowOverride None
       Options None
       Require all denied
       <Files "php-cgi.exe">
           Require all granted
       </Files>     SetEnv PHPRC "D:/xampp/php8_1" 
</Directory> 

여기에 이미지 설명 입력

  • 예를 들어 다음과 같습니다.의 '' ''가php은 "" 입니다.php6_5는 """ 입니다.C:/xampp/php6_5/을 사용하다
ScriptAlias /php6_5 "C:/xampp/php6_5/"
Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
<Directory "C:/xampp/php6_5">
     AllowOverride None
     Options None
     Require all denied
        <Files "php-cgi.exe">
            Require all granted
        </Files>
        SetEnv PHPRC "C:/xampp/php6_5/"
 </Directory>
  • 참고: 더 많은 버전의 PHP를 추가할 수 있습니다.XAMPP필요에 따라서, 순서 1 ~ 3 에 따라서 인스톨 합니다.

순서 4: 특정 PHP 버전을 실행하기 위한 디렉토리 추가

  • 에 다음 합니다(「」).httpd-xampp.conf디렉토리를 설정합니다.
<Directory "C:\xampp\htdocs\my_project1">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php5_6-cgi //replace php5_6 with your version php
    </FilesMatch>
</Directory>

<Directory "C:\xampp\htdocs\my_project2">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php8_1-cgi //replace php8_1with your version php
    </FilesMatch>
</Directory>
  • 아래 이미지에서 지침을 볼 수 있습니다.

여기에 이미지 설명 입력

순서 5: 저장 후 재시작XAMPP

  • 컨피규레이션파일을 저장하고 닫습니다.xampp apache 에서 를 합니다.했는지 여부를 하려면 , 「」를 합니다.index.php 및 "파일"<?php echo phpinfo()php 버전을 확인합니다.

자, 이제 결과를 보여드릴게요.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력

저도 같은 작업을 해야 했기 때문에 어떻게 검색해서 스택 오버플로로 이동했는데, OP에서도 같은 문제가 발생했습니다.그래서 제 연구결과는..모든 방향에서 파일 이름을 바꾸려고 했는데 결론은 시간이 너무 오래 걸린다는 거였어요.그래서 OOO 여기에서 버전 7을 설치하게 되었습니다.

https://www.apachefriends.org/index.html (서비스를 종료하고 xampp를 종료한 후 시도)

디렉토리명을 어디에 배치할지를 묻자(다른 이름을 붙입니다):

여기에 이미지 설명 입력

그리고.

DONEZO! 이제 서비스를 종료하고 종료한 후 서로 교환하면 2개의 멸균 XAMPP 환경에서 게임을 즐길 수 있습니다.

야호! 이제 일하러 갈 수 있어!

이 php 전환기 사용

vhost 구성을 통해 원하는 프로젝트의 php 버전을 제어할 수 있습니다.

오래된 투고인 것은 알지만 PHP 7에서 mysql_connect()를 실행하기 위한 라이브러리가 있습니다.실제 함수를 덮어쓰면 동작합니다(mysql_connect()는 이 라이브러리에서 동작하는 mysqli_connect()에 의해 덮어씁니다).

저는 이 비디오에서 https://www.youtube.com/watch?v=Eqd-jJu4sQ4를 찾았습니다.

도움이 되었으면 좋겠다

PHP 버전은 .htaccess 파일에서 지정할 수 있습니다.즉, 대부분의 프로젝트는 httpd.conf 파일의 글로벌 구성을 기본값으로 둘 수 있지만 특정 프로젝트는 .htaccess를 편집하는 것만으로 다른 버전으로 설정할 수 있습니다.

.htaccess를 사용하면 다른 프로젝트 디렉토리에 필요한 PHP를 지정하기 위해 httpd.conf를 계속 변경할 필요 없이 다른 PHP 버전을 다른 프로젝트에 사용할 수 있다는 장점이 있습니다.대신 .htaccess 파일을 편집하는 것만으로 프로젝트 내에서 직접 변경할 수 있습니다.

필요한 정확한 회선은 설정에 따라 달라집니다.저는 Fast CGI를 사용하여 PHP 8을 사용하는 프로젝트의 .htaccess 파일에 다음 행을 추가합니다(PHP 7이 서버의 기본값입니다).

FcgidWrapper "C:/xampp/php-8.0.6-nts-Win32-vs16-x64/php-cgi.exe -c C:/xampp/php-8.0.6-nts-Win32-vs16-x64" .php

의 첫 은 PHP 파일을 하는 반면, "PHP 실행 파일"은 "PHP 실행 파일"을 참조합니다.-cphp.ini의 phphp . ini 。php.ini를 사용하다

조금 늦었을지도 모르지만, PHP 폴더(몇 년 전에 발견한 펩스위치의 약간 수정된 버전)의 이름을 바꾸기 위해 배지를 사용하고 있습니다.

다른 폴더를 XAMPP 설치 환경에 복사합니다.폴더를 카피합니다.각 PHP 폴더(활성 폴더 제외)는 버전 번호를 접미사(예:php_5.6.32)를 참조해 주세요.모든 PHP 폴더에는 파일(PHP_VERSION)이 생성되며, 이 파일에는 각각의 버전 번호만 포함되어 있기 때문에 스크립트는 이 정보를 얻을 수 있습니다.하지만 README에는 모두 기재되어 있습니다.

PHP7에서는 httpd-xampp.confphp5ts.dll 대신 php7ts.dll을 로드합니다.따라서 스크립트(PHPSwitch.php)를 확장하여 동일한 방법으로 구성 파일 이름을 변경해야 했습니다.

    $renameCur = new PHPSwitch_Rename($currInst['path'], $this->_cfg['phpInstallationsPath'] . $this->_cfg['phpDirName'] . '_' . $currInst['version']);
    $renameNew = new PHPSwitch_Rename($newInst['path'], $this->_cfg['phpInstallationsPath'] . $this->_cfg['phpDirName']);

    $apache_curent      = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp.conf";
    $apache_curent_rename   = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp_".$currInst['version'].".conf";
    $apache_new             = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp_".$newInst['version'].".conf";
    $apache_new_rename      = $this->_cfg["phpInstallationsPath"]."apache/conf/extra/httpd-xampp.conf";

    $renameCur_apache_conf = new PHPSwitch_Rename($apache_curent, $apache_curent_rename);
    $renameNew_apache_conf = new PHPSwitch_Rename($apache_new, $apache_new_rename);

    $transaction = new PHPSwitch_Rename_Transaction();
    $transaction->add($renameCur);
    $transaction->add($renameNew);
    $transaction->add($renameCur_apache_conf);
    $transaction->add($renameNew_apache_conf);

언급URL : https://stackoverflow.com/questions/45790160/is-there-way-to-use-two-php-versions-in-xampp

반응형