#php #symfony #heroku
#php #symfony #heroku
Вопрос:
Я хочу отправить свое приложение, написанное на Symfony 2 PHP, на сервер heroku. Я использую Ubuntu 14.04. Когда я нажал на свое приложение, я вижу:
-----> PHP app detected
! WARNING: Your composer.json requires an unknown PHP version.
Defaulting to PHP 5.5.14; install may fail!
See https://devcenter.heroku.com/categories/php
-----> Setting up runtime environment...
- PHP 5.5.14
- Apache 2.4.9
- Nginx 1.4.6
-----> Installing PHP extensions:
- opcache (automatic; bundled, using 'ext-opcache.ini')
-----> Installing dependencies...
Composer version 745dcbce3317f7119575c39cef2cb601f9c5ffcf 2014-06-29 16:49:45
Connection to 10.179.144.249 closed by remote host.
, done.
error: did not receive remote status
Может быть, это ошибка моего интернет-провайдера?
ОБНОВЛЕНИЕ У меня есть omposer.блокировка в моем каталоге проекта, мой composer.json:
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The "Symfony Standard Edition" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "~2.4",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~2.3",
"sensio/framework-extra-bundle": "~3.0",
"sensio/generator-bundle": "~2.3",
"incenteev/composer-parameter-handler": "~2.0",
"dvelopment/firephp-bundle": "dev-master",
"symfony/serializer": "2.5.*@dev",
"liip/imagine-bundle": "dev-master",
"luxifer/doctrine-functions": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Incenteev\ParameterHandler\ScriptHandler::buildParameters",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Incenteev\ParameterHandler\ScriptHandler::buildParameters",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "symlink",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.4-dev"
}
}
}
Комментарии:
1. ну, какая версия PHP вам требуется в вашем файле composer.json?
2. Опубликуйте свой composer.json, у вас есть composer. заблокировать файл?
3. @SeanKeane я обновил свой вопрос
Ответ №1:
Вы указываете версию php, которую они не поддерживают
Поддерживаемые версии PHP 5.5.11 5.5.12 5.5.13 5.5.14 (по умолчанию)
https://devcenter.heroku.com/articles/php-support
Измените свой composer.json и измените его на ~ 5.5.11
Это также может быть полезно для вас в будущем:
https://devcenter.heroku.com/articles/getting-started-with-symfony2
Комментарии:
1. Проблема не в этом, предупреждение является поддельным. 5.5.11 находится в диапазоне
>=5.3.3
селектора. В Центре разработки есть заметки, в которых говорится, что эти предупреждения в настоящее время можно игнорировать.
Ответ №2:
Похоже, что ваш интернет-провайдер закрывает соединение через пару секунд. Вы пробовали запускать time git push heroku master
несколько раз, чтобы проверить, всегда ли оно останавливается через более или менее одинаковое количество времени («реальное» — это значение, на которое вы должны обратить внимание)?