【发布时间】:2018-07-02 07:49:35
【问题描述】:
我使用 AWS Cloud9 Amazon Web Services 又名 Cloud9 IDE。我正在尝试实现一个设置,我可以随时使用 PHPBrew 在 5.6 和 7 之间轻松切换前端(不是 CLI)PHP 版本。目前,我只实现了 bash 有 5.6.31,前端 phpinfo() 说 PHP 版本 5.5.9-1ubuntu4.17,这显然是我不想看到的。我已经设法在另一个显示 PHP 版本 5.6.31 的工作区上执行此操作,但我害怕触摸该工作区以冒险尝试切换到 PHP 7。我不知道我是如何实现制作 PHPBrew版本系统级 PHP...
我已阅读相关主题和问题,但它们对我没有帮助。我现在是这样设置的:
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
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
sudo phpbrew install php-5.6.31 +default +dbs +mb +iconv +apxs2=/usr/bin/apxs2
请注意,我根本不知道自己在做什么,我从未使用过 Linux。我刚刚从这样的线程中收集了这些行,它们看起来很有希望,但我一定错过了一些东西。
其他信息(在 cmets 中要求):
$ cat /etc/apache2/mods-available/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.31.so
$ phpbrew list
* php-5.6.31
在我安装了 5.6.31 和 7 之后,我最好切换到 phpbrew switch。现在,如果我能让它与 5.6.31 一起工作,我会很满意
目前,我所做的是将“跑步者”(不确定那是什么)从 PHP(内置 Web 服务器) 切换到 Apache httpd(PHP、HTML) 这里:https://i.snag.gy/Y6eNHy.jpg 然后phpinfo() 实际上显示的是 phpbrew 版本。然后我也installed PHP 7.2.1 但后来一切都停止了工作。我在 c9 的控制台中收到很多错误:https://i.snag.gy/pt5oHN.jpg Beautiful,不是吗? :)
Started apache2
/mnt/shared/bin/run-apache2: line 70: 4813 Segmentation fault apache2
【问题讨论】:
-
您想如何进行切换?如果对您有用,可以使用 Nginx + PHP-FPM 运行两个并行版本?对于 apache,我将不得不检查?
-
你也可以使用这里讨论的方法来处理 apache oanhnn.github.io/2015-09-22/…
-
另外,不要将
phpbrew install与sudo一起运行。 -
请在您的主题中提供
cat /etc/apache2/mods-available/php5.load的输出。此外,如果您可以共享构建日志,这将很有帮助。当您运行install时,通常phpbrew会写入构建日志所在的路径。 -/home/USER/.phpbrew/build/VERSION-WHICH-YOU-WANT-TO-BUILD/build.log。另外,请在安装后附上phpbrew list的输出,以确保您的安装成功。这是了解您的安装出了什么问题的最少信息。谢谢。 -
@mrDinkelman 为什么?当我用它运行它时,它提醒我除非我想要一个系统范围的安装,否则我不应该使用它。但这就是我需要的,不是吗?
标签: php ubuntu cloud9-ide cloud9 phpbrew