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

如何在AWS Cloud9中通过PHPBrew切换PHP 5.6/7.2版本

在AWS Cloud9中通过PHPBrew切换Apache使用的PHP版本(5.6与7.x)及解决Apache崩溃问题

我正在使用AWS Cloud9 IDE,希望通过PHPBrew来切换Apache(非CLI场景)使用的PHP版本,主要在5.6和7.x之间灵活切换,但遇到了几个棘手的问题,想请大家帮忙解决:

当前背景与初始问题

目前bash环境里的PHP版本是5.6.31,但前端phpinfo()一开始显示的是5.5.9-1ubuntu4.17,和预期不符。之前在另一个Cloud9工作区成功把PHPBrew安装的PHP设为Apache使用的系统级版本,但记不清具体操作细节了,而且不敢修改那个工作区来尝试切换到PHP7,只能在新环境重新摸索。

我已经执行的操作步骤

  1. 安装PHPBrew:
    curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
    chmod +x phpbrew
    sudo mv phpbrew /usr/local/bin/phpbrew
    phpbrew -v
    phpbrew init
    echo '[[ -e /home/ubuntu/.phpbrew/bashrc ]] && source /home/ubuntu/.phpbrew/bashrc' >> ~/.bashrc
    
  2. 安装编译依赖:
    sudo apt-get update
    sudo apt-get install apache2-dev
    sudo apt-get install libcurl4-gnutls-dev
    sudo apt-get install libmcrypt-dev libreadline-dev
    
  3. 安装带Apache模块支持的PHP 5.6.31:
    sudo phpbrew install php-5.6.31 +default +dbs +mb +iconv +apxs2=/usr/bin/apxs2
    

补充配置信息

  • Apache的PHP模块配置文件内容:
    $ cat /etc/apache2/mods-available/php5.load
    LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.31.so
    
  • PHPBrew已安装的版本列表:
    $ phpbrew list
    * php-5.6.31
    

当前进展与新问题

我把Cloud9的运行器从PHP内置Web服务器切换为**Apache httpd(PHP、HTML)**后,phpinfo()终于显示PHPBrew安装的5.6.31版本正常了,但当我安装PHP 7.2.1之后,Apache直接崩溃,控制台报错:

/mnt/shared/bin/run-apache2: line 70: 4813 Segmentation fault apache2

我完全没有Linux使用经验,摸不清问题出在哪里,现在的核心需求是:

  1. 先确保PHP 5.6.31能稳定在Apache中持续工作
  2. 实现通过phpbrew switch命令在5.6.31和7.x版本之间切换Apache使用的PHP版本,且不会导致Apache崩溃

内容的提问来源于stack exchange,提问作者Firsh - justifiedgrid.com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:04:24