Symfony与错误的PHP版本相关联

时间:2015-09-09 14:43:12

标签: php symfony redhat

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

Symfony(2.5.12)似乎默认在/usr/bin/php查找php可执行文件,但安装了5.2版本,这是其他项目所需。

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

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

4 个答案:

答案 0 :(得分:2)

我有一个同样的问题,我正在使用ubuntu 18.04和Symfony 5.1,我在项目根路径中添加了一个.php_version文件,如`要控制目录中使用的版本中所述,请创建一个.php-version文件,包含版本号(例如7.2或7.2.15)。 我的.php版本文件内容:

7.4

答案 1 :(得分:1)

我知道这很旧,但是使用比我已安装的PHP版本(在我的情况下为7.1,在OSX Mojave中默认为7.1)存在相同的Symfony问题。我的$PATH变量指向较新的7.2版本,php -v显示为7.2,而Symfony仍使用7.1。

当我跑步时,这似乎已解决:

symfony local:php:list

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

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

  

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

答案 2 :(得分:1)

我在执行 symfony serve 时遇到了同样的问题。

首先,我运行 symfony local:php:list 以了解我的项目使用的是哪个版本的 php。

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

它对我来说很好。

答案 3 :(得分:0)

安装 PHP 7.4.16 后,尝试启动我的服务器时:

symfony server:start

我收到以下错误:

exec: "/usr/local/bin/php": stat /usr/local/bin/php: no such file or directory

运行后

symfony local:php:list

发现:

┌─────────┬────────────┬────────────┬─────────┬─────────┬─────────┬─────────┐
│ Version │ Directory  │  PHP CLI   │ PHP FPM │ PHP CGI │ Server  │ System? │
├─────────┼────────────┼────────────┼─────────┼─────────┼─────────┼─────────┤
│ 7.4.14  │ /usr/local │ bin/php    │         │         │ PHP CLI │ *       │
│ 7.4.16  │ /usr       │ bin/php7.4 │         │         │ PHP CLI │         │
└─────────┴────────────┴────────────┴─────────┴─────────┴─────────┴─────────┘

事实证明,我有一些以前安装的 PHP 7.4.14 遗留的文件,而 Symfony 试图仍然使用该版本,该版本已被删除。 删除 php-config, phpize and phpdbg 处的 /usr/local/bin 文件后,我可以毫无问题地运行我的服务器。