Symfony链接到错误的PHP版本

May*_*yak 6 php redhat symfony

我试图将我的项目移到使用Apache的linux redhat服务器上,但是我所面临的问题是该服务器安装了2个不同的PHP版本。

Symfony(2.5.12)似乎/usr/bin/php默认情况下会查找php可执行文件,但安装了5.2版本,其他项目需要该版本。

At /opt/rh/php55/root/usr/bin/php是我想用于symfony的PHP 5.5的已安装版本。

那么,如何配置Symfony以使用在自定义路径中安装的php版本?

Ewo*_*out 20

我知道这很旧,但是与安装的PHP版本相比(使用7.1,OSX Mojave的默认版本),我遇到了同样的Symfony问题。我的$PATH变量指向较新的7.2版本,并php -v显示7.2,而Symfony仍使用7.1。

看起来好像在我跑步时就解决了:

symfony local:php:list
Run Code Online (Sandbox Code Playgroud)

它列出了我系统上的所有PHP版本,并将7.2标记为默认版本。运行并执行之后,symfony server:start它是在7.2上。

php:list命令还为设置项目的特定PHP版本提供了有用的说明:

要控制目录中使用的版本,请创建一个.php-version包含版本号的文件(例如7.2或7.2.15)。如果您使用的是SymfonyCloud,则还可以在.symfony.cloud.yaml文件中指定版本。

  • 只是补充一下,以某种方式运行 `symfony local:php:refresh` 解决了问题,然后我可以像往常一样运行 `symfony server:start` 。 (3认同)

Oli*_*liv 7

我做的时候也遇到了同样的问题symfony serve

首先我跑去symfony local:php:list了解我的项目使用的是哪个版本的php。

然后我运行echo 7.4.9 > .php-version(7.4.9是我下载的最新php版本)来切换我的项目的php版本。

这对我来说可以。


Kev*_*ski 5

如果您的 Web 应用程序使用了错误版本的 PHP,则这是 Apache 配置问题。如果是命令行,这实际上很容易修复,您只需要确保它/opt/rh/php55/root/usr/bin/在您的$PATHbefore 中/usr/bin

你可以在你的~/.bashrc~/.bash_profile用这个来做到这一点:

export PATH=/opt/rh/php55/root/usr/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

把它放在最后,注销并重新登录。您也可以直接在命令行中弹出它,但它仅适用于当前会话,因此~/.bashrcor ~/.bash_profile选项更好。