[英]Local composer update fails with new heroku php buildpack
從我們自己的PHP自定義buildpack轉移到支持的Heroku時,我們遇到了一個問題。 Heroku要求我們在composer.json“require”部分添加某些擴展,但是當您嘗試在本地更新時,它會失敗,因為這些包在repo中不存在。
配置文件:
{
"config":{
"github-oauth":{
"github.com":""
}
},
"require": {
"php": "*",
"ext-newrelic": "*",
"ext-memcached": "*",
"aws/aws-sdk-php": "2.*",
"rollbar/rollbar": "*",
"yiisoft/yii": "1.1.15",
"cloudinary/cloudinary_php": "1.0.11",
"geoip/geoip": "v1.14",
"sendgrid/sendgrid": "2.1.1",
"swiftmailer/swiftmailer": "v5.2.1",
"crisu83/yiistrap": "dev-bs3"
},
"require-dev": {
"phpunit/phpunit": "3.7.*",
"phpunit/dbunit": ">=1.2",
"phpunit/php-invoker": "*",
"phpunit/phpunit-selenium": ">=1.2",
"phpunit/phpunit-story": "*",
"squizlabs/php_codesniffer": "1.*",
"phpmd/phpmd" : "1.4.*",
"phploc/phploc": "*",
"pdepend/pdepend" : "1.1.0",
"sebastian/phpcpd": "*",
"mayflower/php-codebrowser": "~1.1"
}
}
錯誤信息:
11:08:55 {development} /Volumes/Development/web$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested PHP extension ext-newrelic * is missing from your system.
Problem 2
- The requested PHP extension ext-memcached * is missing from your system.
有任何想法嗎 ?
安裝擴展程序為我修復了這個(newrelic擴展程序給了我麻煩,但這是另一個問題。)
(答案在這里發布,但是該人再次將其刪除。)
您需要安裝這些擴展。 假設您在開發期間使用與生產中大致相同的組件和環境在本地開發,運行和測試代碼,因此如果您在生產中使用memcache,則還可以在本地使用它。 這可以確保您不會遇到令人討厭的意外,因為不同的數據存儲行為不同等。另請參閱http://12factor.net/dev-prod-parity
規則的例外情況:您不需要安裝New Relic擴展; 如果您配置New Relic附加組件(通過檢測NEW_RELIC_LICENSE_KEY
env var),它會在推送時自動啟用,請參閱https://devcenter.heroku.com/articles/php-support#extensions (它在開發人員的本地很少使用)盒子,安裝可能有點麻煩)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.