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

상당히 간단한 작업을 자동화하고 싶습니다. 이를 위해 PHP-CLI를 사용하여 명령 행에서 실행하는 작은 PHP 스크립트를 작성했습니다. 이제이 스크립트를 누군가에게 넘겨주고 싶지만 :

  • 소스 코드를 제공
  • 시스템에 PHP를 설치하도록 요청하십시오

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



답변

복숭아 파이

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie는 Microsoft의 Roslyn 기반 PHP 7 컴파일러이며 인기있는 Phalanger에서 추출한 것입니다. PHP 코드를 순수 MSIL로 컴파일하여 .NET / .NETCore 내에서 PHP를 실행할 수 있습니다.

팔랑 게르

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 코드 및 메타 데이터를 포함하는 논리 단위로 컴파일하는 것입니다.

밤 발람

https://github.com/xZero707/Bamcompile/

Bambalam PHP EXE Compiler / Embedder는 PHP 응용 프로그램을 독립형 Windows .exe 응용 프로그램으로 변환하는 무료 명령 줄 도구입니다. 생성 된 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 exe로 컴파일합니다. 익숙한 PHP 웹 패러다임을 사용하여 Windows GUI 응용 프로그램을 빠르게 개발할 수 있습니다. 거의 또는 전혀 수정하지 않고 온라인 및 Windows 응용 프로그램에 동일한 코드를 사용할 수 있습니다. 상용 제품입니다.

phc-win

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

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

필요

  • php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • php-embed.ini

ExeOutput

http://www.exeoutput.com/

상업용

WinBinder

http://winbinder.org/

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

PHP 데스크탑

https://github.com/cztomczak/phpdesktop

PHP Desktop은 Czarek Tomczak이 2012 년에 설립 한 오픈 소스 프로젝트로 PHP, HTML5, JavaScript 및 SQLite와 같은 웹 기술을 사용하여 기본 데스크탑 응용 프로그램을 개발할 수있는 방법을 제공합니다. 이 프로젝트는 단순한 PHP to EXE 컴파일러가 아니라 웹 브라우저 (Internet Explorer 또는 Chrome 내장), Mongoose 웹 서버 및 PHP 인터프리터를 포함합니다. 기존 웹 사이트를 데스크톱 응용 프로그램으로 전환하는 단계는 기본적으로 웹 사이트를 “www /”디렉토리에 복사하는 것입니다. SQLite 데이터베이스 사용은 선택 사항이므로 mysql / postgresql 데이터베이스를 응용 프로그램 설치 관리자에 포함시킬 수 있습니다.

PHP 나이트 레인

https://github.com/kjellberg/nightrain

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

phc-win “포크”

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

phc-win의 포크 버전은 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를 포함한 다양한 언어로 다양한 플랫폼에서 실행 파일을 빌드 할 수있는 온라인 컴파일러

조수

http://www.tidesdk.org/

TideSDK는 실제로 이름이 바뀐 Titanium Desktop 프로젝트입니다. 티타늄은 모바일에 계속 초점을 맞추고 데스크탑 버전을 버렸습니다.이 버전은 오픈 소스를 사용하여 TideSDK라고 불렀던 일부 사람들이 대신했습니다.

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


답변

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

“작동하는”솔루션이 필요한 경우 WinRar SFX 아카이브에 프로젝트와 함께 핵심 버전의 php를 압축하여 임시 디렉토리에 모든 파일을 추출하고 실행하도록 설정하십시오 php your_script.php.

기본 스크립트를 실행하려면 필요한 파일 만 있습니다 php.exephp5.dll(또는 php5ts.dll버전에 따라).

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

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


답변

나는 첫 번째 답변에서 주어진 대부분의 솔루션을 시도했지만, 나를 위해 했고 비상업적 인 유일한 방법 은 php-desktop 입니다.

단순히 PHP 파일을 www/폴더에 넣고 이름을 변경하고 .exePHP로 exe를 실행할 수있었습니다 !!

또한 완벽한 문서, 최신 지원, Windows 및 Linux 호환성 및 옵션을 쉽게 변경할 수 있습니다.


답변

RapidEXE 는이 작업을위한 것입니다.

PHP 프로젝트를 독립형 exe로 변환합니다. 나는 다른 모든 컴파일러를 충분히 가지고 있었고 하나씩 시도해 보았고 모두 나에게 실망했다. 내 손님이 되십시오. 피드백은 언제나 환영합니다!

참고 사항 : 그 배후의 메커니즘은 WinRAR SFX 접근 방식과 매우 유사합니다. 엔진을 추출하고 소스를 추출한 다음 실행하십시오. 더 빠르고 쉽게 작업 할 수 있습니다. 하나의 명령 컴파일, 압축, 스마트 압축 풀기, 자동 정리, 쉬운 구성, PHP 엔진 및 버전의 모든 제어; 최소한의 노력으로도 확장 할 수 있습니다.

행복한 개발!


답변

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

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

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

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

http://www.exeoutput.com/


답변

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

나는 이것을하기위한 간단한 프로젝트를 만듭니다 : PHPPy

이것은 PHP 프로젝트를 실행하기위한 독립형 실행 파일을 만드는 완벽한 방법은 아니지만이 작업을 수행하는 데 도움이됩니다.
PyInstaller 또는 Py2exe가있는 python 파일을 .exe 파일로 컴파일 할 수 없었습니다.
균일 한 서버 실행 파일이 필요하지 않습니다.


답변

현재 PHP Nightrain (4.0.0)은 Python으로 작성되었으며 wxPython 라이브러리를 사용합니다. 지금까지 wxPython은 현재 위치에 PHP Nightrain을 제공하기 위해 잘 작동했지만 PHP Nightrain을 다음 단계로 끌어 올리기 위해 PHP Nightrain의 형제 인 PHPWebkit을 소개합니다!

PHP Nightrain에 대한 업데이트입니다.

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