2016-09-09 5 views
2

this을 참조하여이 간단한 PHP 응용 프로그램을 성공적으로 패키지했습니다. 이제 서버에 배포하기 위해 Yii2 Advance 응용 프로그램 전체를 패키징 (.phar 파일 만들기)하고 싶습니다.phar를 사용한 Yii2 고급 응용 프로그램 패키지 및 배포

내가 위의 링크에 주어진 모든 단계를 따라했지만 내가 실행할 때의 나에게이 오류 제공 : 다음

Warning: require(phar://D:/www/myphartest.phar/../../vendor/autoload.php): failed to open stream: phar error: "vendor/autoload.php" is not a file in phar "D:/www/myphartest.phar" in phar://D:/www/myphartest.phar/index.php on line 5 

Fatal error: require(): Failed opening required 'phar://D:/www/myphartest.phar/../../vendor/autoload.php' (include_path='phar://D:\www\myphartest.phar;.;C:\php\pear') in phar://D:/www/myphartest.phar/index.php on line 5 

내 구조 :

D : \ www가 \ myphartest

  • 빌드 (디렉토리)

    • config.ini를
    • myphartest.phar는
  • SRC (디렉토리)

    • [SRC에서 => 내 yii2 사전 응용 프로그램 파일 및 폴더]
  • 생성 -phar.php (파일)

여기

내가의 src 디렉토리 안에 추가 한의 index.php가있다 (빌드 & www가 디렉토리 내) 내 config.ini를

[database] 
host=localhost 
db=mydb 
user=root 
pass=root 

입니다

<?php 
require_once "phar://myphartest.phar/backend/web"; 
$config = parse_ini_file("config.ini"); 
AppManager::run($config); 

run.php WWW (내부)

<?php 
require "myphartest.phar"; 

도움을 주시면 감사하겠습니다.

답변

2

PHAR을 생성하려면 box을 사용하는 것이 좋습니다. 원한다면 추가 기능이 있습니다.

그것은 3 간단한 단계에서 사용할 수있는

:

  • 실행 php box.phar build --verbose 아래 예는 box.phar 다운로드 box readme
  • 이 설정 파일 box.json 만들기를 참조, 참조

    • (자세한 파일 목록을 볼 수있는 그 당신의 phar에 들어가십시오)

    예제 설정 :

    { 
        "alias": "main.phar", 
        "chmod": "0755", 
        "directories": [ 
         "src" 
        ], 
        "files": [ 
         "README.md", 
         "LICENSE" 
        ], 
        "finder": [ 
         { 
          "name": "*.php", 
          "exclude": [ 
           "tests", 
           "Tests" 
          ], 
          "in": "vendor" 
         } 
        ], 
        "git-version": "package_version", 
        "main": "bin/main.php", 
        "output": "main.phar", 
        "stub": true 
    } 
    

    대부분의 옵션을 버릴 수 있습니다. main, outputfiles, directories 또는 finder 중 하나를 상자에 넣어서 phar에 넣을 내용을 알고 있어야합니다.

    나는 Yii2 기반 콘솔 프로그램을 사용해 보았습니다. 정상적으로 작동합니다!

  • +0

    오류 발생 :'C : \> 컬 -LSs https://box-project.github.io/box2/installer.php | PHP 컬 : (7) 실패 박스 --project.github.io:443에 연결; 오류 없음 ' – Sky

    +0

    파일을 다운로드 할 수 있습니다. 나는 당신의 문제가 SSL 인증서 때문에라고 생각한다. cul-kLSs ...를 시도해보십시오 - 'k'는 인증서 검사를 건너 뜁니다. – hiqsol

    관련 문제