2016-06-29 82 views
0

我正在嘗試將基於Laravel的Web應用程序部署到Swisscom應用程序雲。爲此我使用提供的PHP Buildpack。 Docs展示了Lumen的一個例子,所以我認爲它應該和Laravel一起工作。在Cloudfoundry上部署Laravel應用程序

使用的命令:cf push app-name -m 512M -n app-name

雖然部署我得到這兩個錯誤:

一)

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文件:

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

謝謝你的幫助!

+0

如果有人有越來越PHP7和Laravel 5.x的與CF的工作努力,我創建了一個模板包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 =>是buildpack相關的,不會破壞任何東西。這只是這些擴展尚未提供的信息。

b => artisan在暫存時間不可用,因此您在作曲腳本(composer.json)中觸發的「優化」命令將不起作用。我還沒有找到合適的解決方案,所以目前我不這樣做。

您的選項.json需要另外一件東西=>「LIBDIR」:「」 這會將您的作曲家供應商目錄安裝在應用程序根目錄中。

問候 戴夫

+0

嗨大衛。當我嘗試部署示例Lumen應用[鏈接](https://github.com/swisscom/cf-sample-app-php.git)時,它可以很好地工作。並有一個PHP工匠優化命令。 –

+0

這是主要問題:'[RuntimeException] 錯誤輸出:PHP警告:require(/ tmp/app/bootstrap /../ vendor/autoload.php):無法打開流:沒有這樣的文件或目錄在/ tmp /app/bootstrap/autoload.php第17行 PHP致命錯誤:require():無法打開所需的'/tmp/app/bootstrap/../vendor/autoload.php'(include_path ='../lib/php :/ tmp/app/vendor')在/tmp/app/bootstrap/autoload.php上17行' –

相關問題