2016-06-29 83 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行' –

相关问题