2016-06-29 8 views
0

Я пытаюсь развернуть веб-приложение на основе Laravel в облаке приложений Swisscom. Поэтому я использую предоставленный PHP Buildpack. В Документах показан пример с Lumen, поэтому я предполагаю, что он должен работать и с Laravel.Развертывание приложения Laravel на Cloudfoundry

Б Команда: 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. 

б)

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 => is buildpack related и ничего не сломал. Это просто информация, что эти расширения еще не доступны.

b => artisan не доступен во время постановки, поэтому команда «optimize», которую вы запускаете в своих композиторских сценариях (composer.json), не будет работать. Я еще не нашел подходящего решения, поэтому в настоящее время я этого не делаю.

Ваши опции.json нужна еще одна вещь => "LIBDIR": "" Это установит каталог поставщика композитора в корне приложения.

С наилучшими пожеланиями Дэйв

+0

Привет, Дэвид. Когда я пытаюсь развернуть пример Lumen app [link] (https://github.com/swisscom/cf-sample-app-php.git), он работает отлично. И есть команда оптимизации php artisan. –

+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 ' –

 Смежные вопросы

  • Нет связанных вопросов^_^