2016-09-09 11 views
2

thisこのリンクを参照すると、簡単なPHPアプリケーションが正常にパッケージ化されました。今、私はYii2 Advanceアプリケーション全体をパッケージ化して(.pharファイルを作成して)サーバーに展開したいと思っています。pharを使用したYii2 Advanceアプリケーションのパッケージ化とデプロイ

私は上記のリンクで与えられたすべての手順に従ってきましたが、私が実行したときにその私に、このエラーを与える:後

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(ファイル)

ここ

は私が(WWW内側)

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

のsrcディレクトリ内のrun.php

を追加しましたindex.phpのある

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

(ビルド&にwwwディレクトリ内の)私のconfig.iniです

<?php 
require "myphartest.phar"; 

何か助けていただければ幸いです。

答えて

2

PHARの作成にはboxを使用することをお勧めします。それだけで動作します:)あなたが好きな場合は追加機能があります。

  • 実行php box.phar build --verboseは(そのファイルのリストを見るためにVERBOSE
  • 下の例を参照してください、 box readme
  • は、設定ファイルbox.jsonの作成を参照してください、box.pharをダウンロード:

    それは3つの簡単な手順で使用することができますあなたの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 
} 

ほとんどのオプションを捨てることができます。 mainoutputfilesdirectories、またはfinderのいずれかを、あなたのpharの中に入れるものが分かっていればよい。

私はYii2ベースのコンソールプログラムで試しました - うまくいきます!

+0

エラーが発生しました: 'C:\> curl -LSs https://box-project.github.io/box2/installer.php | PHP curl:(7)失敗しましたbox-project.github.io:443への接続;エラーなし ' – Sky

+0

ファイルがダウンロード可能です。私はあなたの問題はSSL証明書のためだと思う。 cul -kLSsを試してください... - 'k'を押すと、証明書のチェックをスキップします。 – hiqsol

関連する問題