복붙노트

PHP 스크립트를 독립 실행 형 Windows 실행 파일로 변환

PHP

PHP 스크립트를 독립 실행 형 Windows 실행 파일로 변환

나는 아주 간단한 작업을 자동화하고 싶다. 이를 위해 필자는 PHP-CLI를 사용하여 명령 줄에서 실행하는 작은 PHP 스크립트를 작성했습니다. 이제이 스크립트를 다른 사람에게 넘겨주고 싶지만 다음과 같이하고 싶지는 않습니다.

PHP 스크립트의 .exe 버전을 만드는 방법이 있습니까? 나는 정말로 컴파일 해제에 대해별로 걱정하지 않는다. 저는 사람들에게 PHP를 설치하고 구성하도록 요청하는 것에 대해 더 걱정하고 있습니다.

해결법

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

    1.복숭아 파이

    복숭아 파이

    http://www.peachpie.io

    https://github.com/iolevel/peachpie

    Peachpie는 Microsoft의 Roslyn과 Phalanger에서 인기를 얻은 PHP 7 컴파일러입니다. PHP 코드를 순수 MSIL로 컴파일하여 .NET / .NETCore에서 PHP를 실행할 수 있습니다.

    Phalanger

    http://v4.php-compiler.net/

    http://wiki.php-compiler.net/Phalanger_Wiki

    https://github.com/devsense/phalanger

    Phalanger는 프라하의 Charles University에서 시작되어 Microsoft에서 지원 한 프로젝트입니다. 그것은 PHP 스크립트 언어로 작성된 소스 코드를 CIL (Common Intermediate Language) 바이트 코드로 컴파일합니다. .NET Framework의 JIT 컴파일러 구성 요소에 의해 완료되는 컴파일 프로세스의 시작을 처리합니다. 원시 코드 생성이나 최적화를 다루지 않습니다. 그 목적은 PHP 스크립트를 .NET 어셈블리, CIL 코드 및 메타 데이터가 포함 된 논리 단위로 컴파일하는 것입니다.

    밤발람

    http://www.bambalam.se/bamcompile/

    Bambalam PHP EXE 컴파일러 / 임 베더는 독립 실행 형 Windows .exe 응용 프로그램으로 PHP 응용 프로그램을 변환하는 무료 명령 줄 도구입니다. 생성 된 exe 파일은 완전히 독립형이므로 PHP DLL은 필요하지 않습니다. PHP 코드는 Turck MMCache Encode 라이브러리를 사용하여 인코딩되므로 소스 코드를 보호하면서 응용 프로그램을 배포하려는 경우 완벽한 솔루션입니다. 변환기는 윈도우 화 된 PHP 응용 프로그램 (예 : WinBinder 라이브러리를 사용하여 생성) 용 .exe 파일을 생성하는 데에도 적합합니다. 독립 실행 형 PHP 소켓 서버 / 클라이언트 (php_sockets.dll 확장명 사용)를 만드는 것도 좋습니다. PHP 소스에서 네이티브 머신 코드를 생성하지 않는다는 점에서 컴파일러가 아닙니다.

    ZZEE PHPExe

    http://www.zzee.com/phpexe/

    ZZEE PHPExe는 PHP, HTML, Javascript, Flash 및 기타 웹 파일을 Windows GUI exes로 컴파일합니다. 친숙한 PHP 웹 패러다임을 사용하여 Windows GUI 응용 프로그램을 신속하게 개발할 수 있습니다. 수정 사항이 거의 없거나 전혀없는 온라인 및 Windows 응용 프로그램에 동일한 코드를 사용할 수 있습니다. 상업용 제품입니다.

    phc-win

    http://wiki.swiftlytilting.com/Phc-win

    PHP 확장 bcompiler는 PHP 스크립트 코드를 PHP 바이트 코드로 컴파일하는 데 사용됩니다. 이 바이트 코드는 bcompiler 확장이로드되는 한 모든 PHP 파일처럼 포함될 수 있습니다. 일단 모든 바이트 코드 파일이 생성되면 수정 된 Embeder를 사용하여 모든 프로젝트 파일을 프로그램 exe에 압축합니다.

    요구 사항

    ExeOutput

    http://www.exeoutput.com/

    상업용

    WinBinder

    http://winbinder.org/

    WinBinder는 스크립트 프로그래밍 언어 인 PHP의 오픈 소스 확장입니다. PHP 프로그래머는 기본 Windows 응용 프로그램을 쉽게 만들 수 있으므로 최소한의 노력으로 신속하고 보람있는 결과를 얻을 수 있습니다. 수십 줄의 짧은 스크립트라도 PHP의 강력 함과 유연성 덕분에 유용한 프로그램을 생성 할 수 있습니다.

    PHP 데스크탑

    https://github.com/cztomczak/phpdesktop

    PHP Desktop은 PHP, HTML5, JavaScript 및 SQLite와 같은 웹 기술을 사용하여 네이티브 데스크톱 응용 프로그램을 개발할 수있는 방법을 제공하기 위해 Czarek Tomczak이 설립 한 오픈 소스 프로젝트입니다. 이 프로젝트는 PHP에서 EXE 컴파일러 이상, 웹 브라우저 (Internet Explorer 또는 Chrome 임베디드), 몽구스 웹 서버 및 PHP 인터프리터를 포함합니다. 기존 웹 사이트를 데스크톱 응용 프로그램으로 변환하는 과정은 기본적으로 "www /"디렉토리에 복사하는 데 사용됩니다. SQLite 데이터베이스를 사용하는 것은 선택 사항입니다. 응용 프로그램의 설치 프로그램에 mysql / postgresql 데이터베이스를 내장 할 수 있습니다.

    PHP 네이선

    http://www.naetech.com/php-nightrain

    PHP Nightrain을 사용하면 Windows, Mac 및 Linux 운영 체제에서 HTML, CSS, JavaScript 및 PHP 웹 응용 프로그램을 기본 데스크탑 응용 프로그램으로 배포 및 실행할 수 있습니다. 인기있는 PHP 프레임 워크 (예 : CakePHP, Laravel, Drupal 등)가 잘 지원됩니다!

    phc-win "fork"

    https://github.com/RDashINC/phc-win

    phc-win의 fork 된 버전보다 phc-win과 같은 기술을 사용하지만 거의 모든 최신 PHP 버전을 지원합니다. (5.3, 5.4, 5.5, 5.6 등) 또한 Enigma VB를 사용하여 php5ts.dll과 exe를 결합 할 수 있으며, UPX 압축도 가능합니다. 마지막으로 win32std와 winbinder가 PHP에 정적으로 컴파일됩니다.

    편집하다

    또 다른 옵션은

    http://www.appcelerator.com/products/titanium-cross-platform-application-development/

    PHP를 포함한 여러 다른 언어에서 여러 플랫폼에 대한 실행 파일을 빌드 할 수있는 온라인 컴파일러

    TideSDK

    http://www.tidesdk.org/

    TideSDK는 실제로 이름이 바뀐 티타늄 데스크톱 프로젝트입니다. 티타늄은 여전히 ​​모바일에 초점을 맞추고 있으며 오픈 소스를 갖고 TideSDK라고 불리는 일부 사람들에 의해 인수 된 데스크톱 버전을 포기했습니다.

    일반적으로 TideSDK는 HTML, CSS 및 JS를 사용하여 응용 프로그램을 렌더링하지만 PHP와 같은 스크립트 언어, 플러그인 모듈 및 Python 및 Ruby와 같은 다른 스크립팅 언어를 지원합니다.

  2. ==============================

    2.나는 첫 번째 대답에서 주어진 해결책의 대부분을 시도했다. 단 하나의 해결책은 php-desktop 뿐이다.

    나는 첫 번째 대답에서 주어진 해결책의 대부분을 시도했다. 단 하나의 해결책은 php-desktop 뿐이다.

    나는 단순히 www 폴더에 내 PHP 파일을 넣고 .exe의 이름을 바꾸었고 exe로 php를 실행할 수있었습니다 !!

    또한 완전한 문서가 있으며, 최신 지원 및 옵션을 쉽게 변경할 수 있습니다.

    불행히도 1 차 답안 프로젝트의 대부분이 중단되었으며 완벽한 플랫폼을 찾는 것이 어렵습니다.

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

    3.다른 답변에있는 도구의 대부분은 모두 구식이므로 문제가있었습니다.

    다른 답변에있는 도구의 대부분은 모두 구식이므로 문제가있었습니다.

    "제대로 작동하는"솔루션이 필요한 경우 WinRar SFX 아카이브에 프로젝트의 기본 버전의 PHP를 압축하고 모든 것을 임시 디렉토리에 추출하고 php your_script.php를 실행하도록 설정하십시오.

    기본 스크립트를 실행하려면 필요한 파일은 php.exe 및 php5.dll (또는 버전에 따라 php5ts.dll)뿐입니다.

    확장 기능을 추가하려면 php.ini 파일과 함께 팩킹하십시오 :

    [PHP]
    extension_dir = "."
    extension=php_curl.dll
    extension=php_xxxx.dll
    ...
    
  4. ==============================

    4.http://winbinder.org/

    http://winbinder.org/

    "WinBinder는 PHP 프로그래밍 언어 인 PHP의 새로운 오픈 소스 확장 기능으로, PHP 프로그래머가 기본 Windows 응용 프로그램을 쉽게 만들 수 있습니다."

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

    5.ExeOutput은 PHP 웹 사이트를 Windows 응용 프로그램 및 소프트웨어로 전환 할 수 있습니다.

    ExeOutput은 PHP 웹 사이트를 Windows 응용 프로그램 및 소프트웨어로 전환 할 수 있습니다.

    PHP 웹 사이트를 Windows 응용 프로그램 및 소프트웨어로 변환

    PHP 용 ExeOutput으로 만들어진 응용 프로그램은 PHP 스크립트, PHP 응용 프로그램 및 PHP 웹 사이트를 기본적으로 실행하며 웹 서버, 웹 브라우저 또는 PHP 배포가 필요하지 않습니다. 독립 실행 형이며 최신 Windows 버전이 설치된 모든 컴퓨터에서 작동합니다.

    PHP 용 ExeOutput은 PHP 스크립트, JavaScript, HTML, CSS, XML, PDF 파일, Flash, Flash 비디오, Silverlight 비디오, 데이터베이스 및 이미지와 같은 최신 사이트에있는 모든 요소와 작동하는 강력한 웹 사이트 컴파일러입니다. PHP Runtime 및 PHP Extension과 함께 이러한 요소를 결합한 ExeOutput for PHP는 전체 응용 프로그램이 포함 된 EXE 파일을 작성합니다.

    http://www.exeoutput.com/

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

    6.이 문제에 대한 저의 경험에 비추어 볼 때, 대부분의 소프트웨어는 소규모 프로젝트에서 잘 작동합니다. 그러나 큰 프로젝트는 어떻습니까? 예 : Zend Framework 2 및 그와 같은 일부 기능 그들 중 일부는 브라우저를 실행해야하며 브라우저 주소 표시 줄에 "http : // localhost /를 입력하십시오"라고 고객에게 말하기는 어렵습니다!

    이 문제에 대한 저의 경험에 비추어 볼 때, 대부분의 소프트웨어는 소규모 프로젝트에서 잘 작동합니다. 그러나 큰 프로젝트는 어떻습니까? 예 : Zend Framework 2 및 그와 같은 일부 기능 그들 중 일부는 브라우저를 실행해야하며 브라우저 주소 표시 줄에 "http : // localhost /를 입력하십시오"라고 고객에게 말하기는 어렵습니다!

    나는 이것을하기위한 간단한 프로젝트를 만든다 : PUPPy

    이것은 PHP 프로젝트를 실행하기위한 독립적 인 실행 파일을 작성하는 완전한 방법은 아니지만이를 수행하는 데 도움이됩니다. 파이썬 파일을 PyInstaller 또는 Py2exe와 .exe 파일로 컴파일 할 수 없습니다. uniformserver 실행 파일이 필요하지 않습니다.

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

    7.PHP Nightrain의 업데이트입니다.

    PHP Nightrain의 업데이트입니다.

    https://github.com/entrypass/nightrain-ep

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

    8.PHPFlexer는 하나의 파일에 내용을 꾸밀 경우이 트릭을 수행합니다. 나는 그것이 매우 제한적이며 모든 것이지만 너바나를 향한 한 걸음임을 알고 있습니다.

    PHPFlexer는 하나의 파일에 내용을 꾸밀 경우이 트릭을 수행합니다. 나는 그것이 매우 제한적이며 모든 것이지만 너바나를 향한 한 걸음임을 알고 있습니다.

    사용 가능한 위치 : http://deneskellner.com/sw/phpflexer

    더 나은 방법을 찾고 있습니다. RapidExe라는 이름이 붙습니다. PHP 7.2와 원활하게 작동하며 모든 내부 폴더 구조에서 실제로 많은 수의 파일을 처리합니다. 베타 버전이 곧 제공 될 예정이지만이 포럼을 사용하여 광고를하거나 다른 것을 광고하고 싶지는 않습니다. 게다가 그것은 완전히 자유롭고 항상있을 것입니다.

  9. from https://stackoverflow.com/questions/9046675/convert-a-php-script-into-a-stand-alone-windows-executable by cc-by-sa and MIT license