WAMPServer의 Windows 명령줄에서 PHP를 실행하는 방법
php는 php를 사용합니다.를「System 폴더( 「WAMP」 「System Variables」)로했습니다.C:\wamp\bin\php\php5.4.3
를 참조해 주세요.
★★★★★★★★★★★★★★★★★에 가면,Run
->CMD
-> 입php -a
해 주세요, 라고 있습니다.interactive mode enabled
내가 '아예'라고 쓸echo 'Hi';
이치노
'php >'라고 '>' 안 요.php -a
라고 입력합니다.
)는 php, PHP CLI(명령줄 인터페이스용 php)에 .c:\wamp\bin\php\php5.x.y\php.exe
와y 는 한 의 입니다). (x 와 y 、 numbers php 、 스 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 。
명령줄에서 실행할 php Scrips를 만들고 싶다면 쉽고 매우 유용합니다.
을 직접 보세요. .phppath.cmd
:
PATH=%PATH%;c:\wamp\bin\php\phpx.y.z
php -v
x.y.z
WAMPServer WAMPServer 에 되어 있는 PHP 합니다.
PATH에 이미 있는 폴더 중 하나에 저장하면 어디에서나 실행할 수 있습니다.
이제 명령 창에서 소스 폴더에 cd를 입력하고 > phppath를 실행합니다.
그럼 달려라
php your_script.php
꿈처럼 잘 될 거야
필요에 따라 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 * Search path by default
REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer
REM **************************************************************
set baseWamp=D:\wamp
set defaultPHPver=7.4.3
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=%baseWamp%%phpFolder%%phpver%
set PHP_PEAR_INSTALL_DIR=%baseWamp%%phpFolder%%phpver%\pear
set PHP_PEAR_DOC_DIR=%baseWamp%%phpFolder%%phpver%\docs
set PHP_PEAR_BIN_DIR=%baseWamp%%phpFolder%%phpver%
set PHP_PEAR_DATA_DIR=%baseWamp%%phpFolder%%phpver%\data
set PHP_PEAR_PHP_BIN=%baseWamp%%phpFolder%%phpver%\php.exe
set PHP_PEAR_TEST_DIR=%baseWamp%%phpFolder%%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=
set phpver=
set phpFolder=
기본 버전의 PHP를 사용하려면 이 명령 파일을 이렇게 호출하십시오.
> phppath
또는 이와 같은 특정 버전의 PHP를 얻으려면
> phppath 5.6.30
몇 년 전 우연히 이 문제를 발견했을 때 윈도우에 리드라인이 없기 때문에 인터랙티브 셸이 없기 때문에 리드라인 지원 없이 php 인터랙티브 모드를 사용할 수 있습니다.대신 이 작업을 수행할 수 있습니다.
C:\>php -a
Interactive mode enabled
<?php
echo "Hello, world!";
?>
^Z
Hello, world!
모드로 후opening을 합니다( opening ) 。<?php
) 및 닫힘 ( )?>
태그를 Z php로 .^Z
는 파일의 는 파일의 끝을 나타냅니다.
또한 php의 사이트 사용자 코멘트 http://www.php.net/manual/en/features.commandline.interactive.php#105729에서 솔루션을 찾은 것도 기억합니다.
배치 파일 사용 시도
- 메모장 열기
- 「」라고 입력합니다.
php -S localhost:8000
- 을 저장하다
.bat
" " ",server.bat
- " " 를 합니다.
server.bat
파일http://localhost:8000
의존
와 php php로의 를 다시 연결하지 ."C:\wamp\bin\php\php5.4.3"
당신이 설명하고 있는 문제는 당신의 PHP 버전이 Readline PHP 모듈이 없어 인터랙티브 셸이 작동하지 않는 것처럼 들립니다.이 PHP 버그에 근거하고 있습니다.
실행해 보다
php -m
출력에 "readline"이 표시되는지 확인합니다.
배포에서 readline을 생략하는 데는 충분한 이유가 있을 수 있습니다.PHP는 일반적으로 웹 서버에 의해 실행되므로 대부분의 사용 사례에서는 필요하지 않습니다.명령 프롬프트에서 다음 명령을 사용하여 파일 내의 PHP 코드를 실행할 수 있습니다.
php file.php
PHP를 위한 (더 나은) 인터랙티브 셸을 제공하는 phpsh 프로젝트도 있습니다.그러나 Windows에서 실행하는 데 문제가 있는 사람도 있습니다(제가 직접 실행한 것은 아닙니다).
편집: 여기 설명서에 따르면readline
는 Windows에서는 되지 않습니다.Windows에서는 지원되지 않습니다.
주의: 이 확장자는 Windows 플랫폼에서는 사용할 수 없습니다.
올바른 경우 다음 옵션을 사용할 수 있습니다.
- 인터랙티브 셸을 피하고 명령줄에서 파일 내의 PHP 코드를 실행하기만 하면 됩니다.
- Windows에서 phpsh를 작동시켜 보십시오.
간단한 코드 스니펫을 실행하는 경우 -r 옵션을 사용할 수 있습니다.
php -r "echo 'hi';"
-r을 하지 않고 할 수 .<?..?>
php할 수 파일에는 cmd write php.exe 가 포함되어 cmd write php.exe에 있습니다."[PATH to php.ext]\php.exe [path_to_file]\file.php"
업데이트 몇 가지 조사 후 최선의 해결책은 다른 스택오버플로우 스레드를 사용하여 ctrl+z 입력 및 screw 출력으로부터 정보를 얻는 것입니다.그래서 대신php -a
도 이렇게 써야 요.call "php.exe" -f NAMED_SCRIPT.php
Windows에서는 OLD Readline이 불가능하기 때문에 php로 작성된 기존 php 쉘은 작동하지 않습니다.그러나 대화형 모드를 사용하는 해결 방법이 있습니다.
통신에 관한 2가지 문제EOF와 같은 코드/파일의 마지막을 나타내기 위해 CTRL Z 명령을 실행할 때까지 결과를 볼 수 없습니다.이 경우 대부분의 경우 결과가 인쇄되고 창이 빠르게 닫힙니다.어쨌든 -a 대화형 모드가 아닌 cmd로 돌아갑니다.
이 내용을 .bat 파일에 저장하고 PHP PATH를 Windows 변수에 정의하거나 대신 php.exe를 "exe 전체 경로"로 수정하십시오.
::
:: PHP Shell launch wrapper
::
@ECHO off
call "php.exe" -a
echo.
echo.
call "PHP Shell.bat"
이것은 php.exe의 -a 모드인 간단한 일괄 실행입니다.php 를 기동하면, 인터랙티브하게 입력을 대기하고 있기 때문에, 일시정지 스크립트는 써지지 않습니다.CTRL Z를 누르면 SIGSTOP(닫기, 보통 CTRL+C)이 아닌 SIGSTEP(다음 단계)가 표시되고 다음 명령을 읽습니다.wich는 .bat 자체에 대한 재귀 호출입니다.항상 PHP -a 모드이기 때문에 종료 명령어는 없습니다.CTRL+C를 사용하거나 마우스로 종료 십자 기호를 눌러야 합니다.(alt+f4 없음)
또, 「Bat to Exec」컨버터를 사용해 간단하게 사용할 수도 있습니다.
이는 php가 입력하는 모든 것을 평가하는 '인터랙티브 모드'이기 때문입니다.최종 결과를 보려면 'ctrl+z'와 Enter를 수행합니다.평가 결과가 표시됩니다. : )
p.s. cmd를 Administrator로 실행합니다!
다음 솔루션은 WAMP 환경 전용입니다.
이것은 잠시 동안 나를 당황하게 했고, 다른 모든 제안을 시도했다. $PATH 등은 단서를 찾기 위해 윈도우 레지스트리를 검색하기도 했다.
GUI(wampmanager)는 버전7이 선택되어 있으며 브라우저 페이지에서 phpinfo()를 실행하면 버전7.x.x 가 표시되지만 명령 프롬프트에서는 php-v 가 5.x.x.x 가 보고됩니다.
wampmanager 헤드를 우클릭하여 아이콘->tools-> 사용하지 않는 버전을 삭제하고 이전 버전을 삭제한 후 서비스를 재시작하면 명령 프롬프트는 7.x.x를 반환합니다.
이 솔루션은 php 버전 간에 전환하는 경우 이전 버전을 더 이상 가지고 있지 않지만 C:\wamp64\wampmanager.conf에 CLI에서 사용할 버전을 지정하는 설정 파일이 있음을 의미합니다(파라미터는 phpCliVersion).변경해서 서버를 다시 시작했는데...해결했다고 생각했는데 효과가 없는 것 같아서 조금 성급했던 것 같아서 뭔가 마일리지가 있는 것 같아요.
누군가에게 도움이 되었으면 좋겠다.
이전 php 버전이 필요 없는 경우 다음 단계를 수행합니다.
- wamp를 열고 wamp manager than go를 우클릭합니다: tools / php CLI Version을 클릭합니다.
- 다음에 wamp manager를 오른쪽 클릭하여 go: tools/unuserd 버전을 삭제하고 시스템에서 pc php 버전이라고 주장하는 가장 오래된 버전을 삭제합니다.
- 제어판/사용자 계정으로 이동하거나 환경변수를 변경하고 PATH 변수에서 편집을 클릭하여 wamp 서버 bin 폴더에 있는 최신 php 버전 경로를 추가합니다.
- 모든 명령줄 또는 IDE를 닫고 재시작한 후 php - v를 확인합니다.
이것은 잘 작동한다
윈도에서는 php.exe 파일을 windows/system32 또는 다른 시스템 실행 가능 폴더에 넣은 후 명령줄로 이동하여 php를 입력하고 Enter 키를 눌러 오류가 발생하지 않으면 명령줄에서 PHP를 사용할 준비가 됩니다.기본 시스템 폴더가 아닌 다른 곳에 php.exe를 설정한 경우 환경변수로 경로를 설정해야 합니다.다음과 같은 경로로 갈 수 있습니다.
제어판 -> System -> Environment Vaiables -> path -> edit 계정의 환경변수를 편집하여 php.exe의 절대경로를 설정하고 첫 번째 단락과 같은 절차를 수행합니다.오류 부문에 아무것도 없으면 명령줄에서 php를 사용할 수 있습니다.
위의 Riggs Folly 스크립트는 다음과 같이 설정하면 약간 개선됩니다.
PATH=%phpver%;%PATH%
처음에 새로운 PHP ver 경로를 추가합니다.이것에 의해, 환경 설정으로 디폴트 패스를 설정할 수 있습니다.다른 버전으로 변경할 경우에만 이 스크립트가 필요합니다.
또, 나처럼 이것을 git bash 쉘로 실행하고 싶다면, bash 스크립트를 호출하여 .bat 파일을 호출하면 됩니다.
#!/bin/bash
eval phppath.bat $1
언급URL : https://stackoverflow.com/questions/15597067/how-to-run-php-from-windows-command-line-in-wampserver
'itsource' 카테고리의 다른 글
행을 열로 피벗 (0) | 2023.01.15 |
---|---|
panda GroupBy.agg()를 사용하여 동일한 열의 여러 애그리게이션 (0) | 2023.01.15 |
Cent에서 MariaDB Galera 클러스터의 멀티 마스터 복제를 구성하는 방법OS 6 (0) | 2023.01.15 |
Lodash를 사용하여 객체의 키를 필터링하려면 어떻게 해야 합니까? (0) | 2023.01.15 |
Laravel 관련 모델이 있는지 확인 (0) | 2023.01.15 |