Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用新的heroku php buildpack更新本地编写器失败_Php_Heroku_Composer Php - Fatal编程技术网

使用新的heroku php buildpack更新本地编写器失败

使用新的heroku php buildpack更新本地编写器失败,php,heroku,composer-php,Php,Heroku,Composer Php,当从我们自己的PHP定制构建包迁移到支持的Heroku构建包时,我们遇到了一个问题。Heroku要求我们向composer.json“require”部分添加某些扩展,但是当您尝试在本地更新时,它失败了,因为repo中不存在这些包 配置文件: { "config":{ "github-oauth":{ "github.com":""

当从我们自己的PHP定制构建包迁移到支持的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,您也可以在本地使用它。这确保了您不会因为不同的数据存储行为不同而遇到令人不快的惊喜。请参见

规则的例外:您不需要安装NewRelic扩展;如果您提供New Relic附加组件(通过检测New Relic许可证密钥),它会在推送时自动启用,请参阅(它在开发人员的机箱上本地几乎没有用处,安装起来可能有点麻烦)