2016-06-29 6 views
0

LaravelベースのWebアプリケーションをSwisscom Application Cloudにデプロイしようとしています。そのため、私は提供されたPHP Buildpackを使用します。 DocsはLumenの例を示しているので、Laravelでもうまく動作するはずです。CloudFoundryにLaravelアプリケーションをデプロイ

使用するコマンド:

A)

The extension 'fpm' is not provided by this buildpack. 
The extension 'tokenizer' is not provided by this buildpack. 
The extension 'dom' is not provided by this buildpack. 
The extension 'json' is not provided by this buildpack. 
The extension 'pcre' is not provided by this buildpack. 
The extension 'reflection' is not provided by this buildpack. 
The extension 'spl' is not provided by this buildpack. 

B)

Generating autoload files 
> Illuminate\Foundation\ComposerScripts::postInstall 
> php artisan optimize 
PHP Warning: require(/tmp/app/bootstrap/../vendor/autoload.php):failed to open stream: No such file or directory in /tmp/app/bootstrap/autoload.php on line 17 
PHP Fatal error: require(): Failed opening required '/tmp/app/bootstrap/../vendor/autoload.php'(include_path='../lib/php:/tmp/app/lib') in /tmp/app/bootstrap/autoload.php on line 17 
Script php artisan optimize handling the post-install-cmd event returned with an error 

マイoptions.jsonファイル:

私はこれらの2つのエラーを取得し展開している間

{ 
    "WEBDIR": "public", 
    "PHP_VERSION": "{PHP_70_LATEST}", 
    "PHP_EXTENSIONS": [ "bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "pdo_mysql"] 
} 

ありがとうございました!

+0

誰でもPHP7とCFで動作するようにLaravel 5.xの取得に苦労している場合は、私は、テンプレートパッケージhttps://github.com/chas688/cf-laravelを作成しました。 –

答えて

0

私は解決策を見つけました。単に

"COMPOSER_VENDOR_DIR": "vendor", 

options.jsonファイルに追加するだけです。

{ 
"PHP_VERSION": "{PHP_70_LATEST}", 
"WEBDIR": "public", 
"LIBDIR": "vendor", 
"COMPOSER_VENDOR_DIR": "vendor", 
"PHP_EXTENSIONS": [ "bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "pdo_mysql"] 
} 

More information in the Docs

0

a =>はビルドパック関連であり、何も破壊しません。これらの拡張機能がまだ利用できないという情報です。

b => artisanはステージング時に使用できないため、作曲者スクリプト(composer.json)でトリガーしている「最適化」コマンドは機能しません。私はまだ適切な解決策を見つけられなかったので、現在私はこれをしていません。

あなたのoptions.jsonはもう1つ必要です=> "LIBDIR": "" これは作者のベンダーディレクトリをアプリケーションルートにインストールします。

敬具 デイブ

+0

こんにちはDavid。私がLumenアプリケーションの例[link](https://github.com/swisscom/cf-sample-app-php.git)を配備しようとすると、それは完全に機能します。そして、php artisan optimizeコマンドがあります。 –

+0

これは主な問題です: '[RuntimeException] エラー出力:PHP警告:require(/ tmp/app/bootstrap /../ vendor/autoload.php):ストリームのオープンに失敗しました:/ tmpにそのようなファイルやディレクトリはありません/app/bootstrap/autoload.php on line 17 PHP致命的なエラー:require():オープンに失敗しました '/tmp/app/bootstrap/../vendor/autoload.php'(include_path = '../lib/php :/ tmp/app/vendor ')/tmp/app/bootstrap/autoload.phpの17行目 ' –

関連する問題