복붙노트

WAMPServer의 Windows 명령 줄에서 PHP를 실행하는 방법

PHP

WAMPServer의 Windows 명령 줄에서 PHP를 실행하는 방법

나는 PHP에 익숙하지 않고 명령 행에서 PHP를 실행하고 싶다. WAMP를 설치하고 "PHP"폴더 (C : \ wamp \ bin \ php \ php5.4.3)에 "시스템 변수"를 설정했습니다.

실행 -> CMD -> 유형 php -a로 이동하여 Enter 키를 누르면 대화식 모드가 활성화됩니다. 하지만 에코 '하이'를 쓸 때; 그것은 아무것도 보여주지 않습니다.

나는 심지어 php -a를 입력하고 엔터를 칠 때 "php>"와 같은 것을 보지 못한다.

해결법

  1. ==============================

    1.PHP CLI (php : 명령 행 인터페이스)는 php.exe라고 불립니다. 그것은 c : \ wamp \ bin \ php \ php5.x.y \ php.exe에 있습니다 (여기서 x와 y는 설치된 php의 버전 번호입니다)

    PHP CLI (php : 명령 행 인터페이스)는 php.exe라고 불립니다. 그것은 c : \ wamp \ bin \ php \ php5.x.y \ php.exe에 있습니다 (여기서 x와 y는 설치된 php의 버전 번호입니다)

    커맨드 라인에서 실행하는 PHP 스크립트를 만들고 싶다면 쉽고 유용합니다.

    이런 배치 파일을 만들어 phppath.cmd라고 부르 자.

    PATH=%PATH%;c:\wamp\bin\php\php5.x.y
    php -v
    

    이 파일을 이미 PATH에있는 폴더 중 하나에 저장하면 어디서나 실행할 수 있습니다.

    이제 명령 창에서 원본 폴더로 cd하고> phppath를 실행하십시오.

    그런 다음 실행

    그것은 꿈처럼 작동해야합니다.

    다음은 필요시 PHP Composer와 PEAR을 설정하는 예제입니다.

    @echo off
    
    REM **************************************************************
    REM * PLACE This file in a folder that is already on your PATH
    REM * Or just put it in your C:\Windows folder as that is on the
    REM * Serch path by default
    REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer
    REM **************************************************************
    
    
    set baseWamp=D:\wamp
    set defaultPHPver=7.1.9
    set composerInstalled=%baseWamp%\composer
    set phpFolder=\bin\php\php
    
    if %1.==. (
        set phpver=%baseWamp%%phpFolder%%defaultPHPver%
    ) else (
        set phpver=%baseWamp%%phpFolder%%1
    )
    
    PATH=%PATH%;%phpver%
    php -v
    echo ---------------------------------------------------------------
    
    
    REM IF PEAR IS INSTALLED IN THIS VERSION OF PHP
    
    IF exist %phpver%\pear (
        set PHP_PEAR_SYSCONF_DIR=D:\wamp\bin\php\php%phpver%
        set PHP_PEAR_INSTALL_DIR=D:\wamp\bin\php\php%phpver%\pear
        set PHP_PEAR_DOC_DIR=D:\wamp\bin\php\php%phpver%\docs
        set PHP_PEAR_BIN_DIR=D:\wamp\bin\php\php%phpver%
        set PHP_PEAR_DATA_DIR=D:\wamp\bin\php\php%phpver%\data
        set PHP_PEAR_PHP_BIN=D:\wamp\bin\php\php%phpver%\php.exe
        set PHP_PEAR_TEST_DIR=D:\wamp\bin\php\php%phpver%\tests
    
        echo PEAR INCLUDED IN THIS CONFIG
        echo ---------------------------------------------------------------
    ) else (
        echo PEAR DOES NOT EXIST IN THIS VERSION OF php
        echo ---------------------------------------------------------------
    )
    
    REM IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
    REM **************************************************************
    REM * IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
    REM *
    REM * This assumes that composer is installed in /wamp/composer
    REM *
    REM **************************************************************
    IF EXIST %composerInstalled% (
        ECHO COMPOSER INCLUDED IN THIS CONFIG
        echo ---------------------------------------------------------------
        set COMPOSER_HOME=%baseWamp%\composer
        set COMPOSER_CACHE_DIR=%baseWamp%\composer
    
        PATH=%PATH%;%baseWamp%\composer
    
        rem echo TO UPDATE COMPOSER do > composer self-update
        echo ---------------------------------------------------------------
    ) else (
        echo ---------------------------------------------------------------
        echo COMPOSER IS NOT INSTALLED
        echo ---------------------------------------------------------------
    )
    
    set baseWamp=
    set defaultPHPver=
    set composerInstalled=
    set phpFolder=
    

    기본 PHP 버전을 사용하려면 다음과 같은 명령 파일을 호출하십시오.

    > phppath
    

    또는 이와 같은 PHP의 특정 버전을 얻으려면

    > phppath 5.6.30
    
  2. ==============================

    2.나는이 문제를 몇 년 전에 우연히 만났던 한 번 기억한다. 윈도우가 readline을 가지지 않기 때문에, 대화식 쉘을 사용하지 않기 때문에 readline을 지원하지 않는 PHP 대화식 모드를 사용할 수있다.

    나는이 문제를 몇 년 전에 우연히 만났던 한 번 기억한다. 윈도우가 readline을 가지지 않기 때문에, 대화식 쉘을 사용하지 않기 때문에 readline을 지원하지 않는 PHP 대화식 모드를 사용할 수있다.

    C:\>php -a 
    Interactive mode enabled 
    
    <?php 
    echo "Hello, world!"; 
    ?> 
    ^Z 
    Hello, world!
    

    대화 형 모드로 들어간 다음, 열기 () php 태그를 사용하여 입력하고 파일 끝을 나타내는 컨트롤 Z (^ Z)로 끝냅니다.

    나는 또한 php의 사이트 사용자 코멘트에서 해결책을 찾았습니다. http://www.php.net/manual/en/features.commandline.interactive.php#105729

  3. ==============================

    3.PHP 버전과 같은 문제가 발생하면 readline PHP 모듈이 누락되어 대화 형 쉘이 작동하지 않을 수 있습니다. 나는이 PHP 버그 제출에 기반한다.

    PHP 버전과 같은 문제가 발생하면 readline PHP 모듈이 누락되어 대화 형 쉘이 작동하지 않을 수 있습니다. 나는이 PHP 버그 제출에 기반한다.

    실행 해보기

    php -m
    

    출력에 "readline"이 나타나는지 확인하십시오.

    배포본에서 readline을 생략하는 데는 충분한 이유가있을 수 있습니다. PHP는 일반적으로 웹 서버에 의해 실행됩니다. 그래서 대부분의 유스 케이스에는 꼭 필요한 것은 아니다. 명령 프롬프트에서 다음을 사용하여 PHP 코드를 파일에서 실행할 수 있다고 확신합니다.

    php file.php
    

    PHP를위한 더 나은 대화 형 쉘을 제공하는 phpsh 프로젝트도 있습니다. 그러나 일부 사람들은 Windows에서 실행하는 데 문제가있었습니다 (시도하지 않았습니다. 이 자신).

    편집하다: 여기에있는 문서에 따르면 Windows에서는 readline이 지원되지 않습니다.

    그래서 그것이 맞다면 옵션은 다음과 같습니다.

  4. ==============================

    4.배치 파일을 사용해보십시오

    배치 파일을 사용해보십시오

    오류가 있으면 내부 또는 외부 명령을 인식하지 못합니다.     그런 다음 환경 변수로 가서 php.exe에 대한 경로를 편집하십시오.     "C : \ wamp \ bin \ php \ php5.4.3"

  5. ==============================

    5.빠른 코드 스 니펫을 실행하려면 -r 옵션을 사용할 수 있습니다.

    빠른 코드 스 니펫을 실행하려면 -r 옵션을 사용할 수 있습니다.

    php -r "echo 'hi';"
    

    -r 스크립트 태그를 사용하지 않고 코드를 실행할 수 있습니다.

  6. ==============================

    6.php.exe를 사용하여 PHP 페이지를 실행할 수 있습니다. PHP 코드로 PHP 파일을 만들고 cmd에 "[php.ext 로의 경로] \ php.exe [경로 _ 파일] \ file.php"

    php.exe를 사용하여 PHP 페이지를 실행할 수 있습니다. PHP 코드로 PHP 파일을 만들고 cmd에 "[php.ext 로의 경로] \ php.exe [경로 _ 파일] \ file.php"

  7. ==============================

    7.업데이트 됨 몇 가지 연구 후 최상의 솔루션은 그 정보를 다른 stackoverflow 스레드를 사용하여 ctrl + z 입력을 피하기 위해 그리고 scree 출력에서도 사용했습니다. 따라서 php -a 대신 "php.exe"를 사용해야합니다. -f NAMED_SCRIPT.php

    업데이트 됨 몇 가지 연구 후 최상의 솔루션은 그 정보를 다른 stackoverflow 스레드를 사용하여 ctrl + z 입력을 피하기 위해 그리고 scree 출력에서도 사용했습니다. 따라서 php -a 대신 "php.exe"를 사용해야합니다. -f NAMED_SCRIPT.php

    늙은 Windows에서는 readline을 사용할 수 없기 때문에 PHP로 작성된 기존의 PHP 쉘은 작동하지 않습니다. 그러나 대화식 모드를 사용하는 경우 해결 방법이 있습니다.

    여기에 2 개의 공통 문제가 있습니다. CTRL Z 명령을 실행하여 EOF와 같은 코드 / 파일의 마지막을 나타낼 때까지는 결과를 볼 수 없습니다. 그렇게하면 대부분의 경우 결과가 인쇄되고 창을 닫을 수 있습니다. 어쨌든 -a 대화식 모드가 아닌 cmd로 돌아갑니다.

    이 내용을 .bat 파일에 저장하고 Windows 변수에 PHP PATH를 정의하거나 php.exe를 "exe 전체 경로"로 수정하십시오.

    ::
    :: PHP Shell launch wrapper
    ::
    @ECHO off
    call "php.exe" -a
    
    echo.
    echo.
    
    call "PHP Shell.bat"
    

    이것은 간단한 배치 실행 - php.exe의 모드입니다. php를 시작하면 입력을 기다리는 대화 형으로 들어가기 때문에 일시 정지도 쓰지 않습니다. CTRL Z를 누르면 SIGSTOP (다음 단계)가 아닌 SIGSTOP (일반적으로 CTRL + C를 닫음)을 가져온 다음 .bat 자체에 대한 재귀 호출 인 다음 intruction을 읽습니다. 왜냐하면 항상 PHP -a 모드이기 때문에 exit 명령을 사용하지 않기 때문입니다. CTRL + C를 사용하거나 마우스로 출구 교차점을 눌러야합니다. (아니 alt + f4)

    "Bat to Exe"변환기를 사용하여 쉽게 사용할 수도 있습니다.

  8. ==============================

    8.다음 솔루션은 특히 습기가 많은 환경을위한 것입니다.

    다음 솔루션은 특히 습기가 많은 환경을위한 것입니다.

    이것은 잠시 동안 나를 비웃었고, 다른 모든 제안을 시도했다. $ PATH 등은 단서를 찾기 위해 Windows 레지스트리를 검색했다.

    GUI (wampmanager)는 내가 버전 7을 선택했음을 나타내고 브라우저의 페이지에서 phpinfo ()를 사용하면 버전 7.x.x를 알려줄 것입니다. 그러나 명령 프롬프트에서 php -v는 5.x.x를보고합니다.

    wampmanager를 마우스 오른쪽 버튼으로 클릭하여 아이콘 -> 도구 -> 사용하지 않는 버전을 삭제하고 이전 버전을 제거한 다음 서비스를 다시 시작하면 명령 프롬프트에서 7.x.x

    이 솔루션은 php 버전 사이를 전환하려는 경우 이전 버전을 사용하지 않고 C : \ wamp64 \ wampmanager.conf에 CLI에서 사용할 버전을 지정하는 구성 파일 (phpCliVersion이라는 매개 변수가 있음)이 있음을 의미합니다. . 나는 그것을 바꿨고, 서버를 재시작했다. .. 내가 그것을 해결했다라고하는 생각 그러나 어떤 효과가 아마 나는 조금 참을성이 없었다. 그래서 나는 약간의 주행 거리가 있을지도 모른다라고하는 감각을 가지고있다.

    희망은 누군가를 돕는다.

  9. ==============================

    9.왜냐하면 php가 입력하는 모든 것을 평가하는 '대화식 모드'에 있기 때문입니다. 최종 결과를 보려면 'Ctrl + Z'를 입력하고 Enter를 누르십시오. 이제 평가 결과를 볼 수 있습니다 :)

    왜냐하면 php가 입력하는 모든 것을 평가하는 '대화식 모드'에 있기 때문입니다. 최종 결과를 보려면 'Ctrl + Z'를 입력하고 Enter를 누르십시오. 이제 평가 결과를 볼 수 있습니다 :)

    추신. 관리자로 cmd를 실행하십시오!

  10. ==============================

    10.창에서 php.exe 파일을 windows / system32 또는 다른 시스템 실행 폴더에 넣은 다음 명령 행으로 이동하여 PHP를 입력하고 다음에 입력하십시오. 오류가 발생하지 않으면 명령 행에서 PHP를 사용할 준비가되었습니다. . 기본 시스템 폴더가 아닌 php.exe를 설정 한 경우 환경 변수에 경로를 설정해야합니다! 당신은 다음 경로에 거기에 도착할 수 있습니다 ....

    창에서 php.exe 파일을 windows / system32 또는 다른 시스템 실행 폴더에 넣은 다음 명령 행으로 이동하여 PHP를 입력하고 다음에 입력하십시오. 오류가 발생하지 않으면 명령 행에서 PHP를 사용할 준비가되었습니다. . 기본 시스템 폴더가 아닌 php.exe를 설정 한 경우 환경 변수에 경로를 설정해야합니다! 당신은 다음 경로에 거기에 도착할 수 있습니다 ....

    제어판 -> 시스템 -> Edith 환경 변수 -> 환경 변수 -> 경로 -> 편집을 클릭 한 다음 php.exe의 절대 경로를 설정하고 첫 번째 단락과 동일한 절차를 따르십시오. 오류가없는 경우 부서, 그럼 당신은 명령 줄에서 PHP를 사용할 준비가되었습니다!

  11. from https://stackoverflow.com/questions/15597067/how-to-run-php-from-windows-command-line-in-wampserver by cc-by-sa and MIT license