You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS Elastic Beanstalk的PHP7.1 Laravel应用中安装Zip扩展的方法

在AWS Elastic Beanstalk的PHP 7.1环境中安装Zip扩展

我来帮你搞定这个问题!直接在实例上跑yum命令之所以没用,是因为Elastic Beanstalk的实例是临时的——每次部署、扩容或者环境更新,都会生成全新的实例,手动安装的扩展不会同步到新实例里。正确的做法是用**.ebextensions配置文件**让EB自动在实例初始化阶段帮你安装扩展,这也是AWS官方推荐的标准化方式。

具体操作步骤:

  1. 在Laravel项目根目录创建.ebextensions文件夹
    这个文件夹是EB识别自定义配置的核心,注意名字开头有个点,别漏写了。

  2. 编写扩展安装配置文件
    在.ebextensions文件夹里新建一个后缀为.config的文件(比如叫php-zip.config,名字随意,只要后缀正确即可),把以下内容粘贴进去:

    packages:
      yum:
        php71-zip: []
    
    container_commands:
      01_restart_httpd:
        command: "service httpd restart"
        leader_only: false
    

    这段配置的作用:

    • packages.yum:告诉EB需要安装php71-zip这个Yum包——你之前尝试的php-zip是系统默认PHP版本(通常是5.x)的对应包,和PHP 7.1不匹配,所以安装无效。
    • container_commands:在应用部署完成后执行Apache重启命令,确保新安装的Zip扩展生效;leader_only: false表示所有实例都会执行这个操作,适配多实例部署场景。
  3. 重新部署你的应用
    将包含.ebextensions文件夹的项目打包(或使用EB CLI/git工具部署),EB会在新实例启动时自动完成Zip扩展的安装,部署完成后你的Laravel应用就能正常调用该扩展了。

验证安装结果:

如果想确认扩展是否安装成功,可以登录到EB实例,执行命令php -m | grep zip,如果输出zip字样,就说明扩展已经安装生效。

内容的提问来源于stack exchange,提问作者ackerchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:54:53