Symfony 链接到错误的 PHP 版本
Symfony is linked to the wrong PHP version
我正在尝试将我的项目移动到使用 Apache 的 linux redhat 服务器,但我面临的问题是该服务器安装了 2 个不同的 PHP 版本。
Symfony (2.5.12) 似乎默认在 /usr/bin/php
寻找 php 可执行文件,但安装了 5.2 版本,其他项目需要它。
在 /opt/rh/php55/root/usr/bin/php
处安装了 PHP 的 5.5 版本,我想将其用于 symfony。
那么如何配置 Symfony 以使用安装在自定义路径的 php 版本?
如果是您的 Web 应用程序使用了错误版本的 PHP,这是 Apache 配置问题。如果是命令行,这实际上很容易解决,您只需要确保 /opt/rh/php55/root/usr/bin/
在 /usr/bin
.
之前在您的 $PATH
中
您可以在 ~/.bashrc
或 ~/.bash_profile
中执行此操作:
export PATH=/opt/rh/php55/root/usr/bin:$PATH
把它放在最后,注销并重新登录。您也可以直接在命令行中弹出它,但它只会应用于当前会话,因此 ~/.bashrc
或 ~/.bash_profile
选项更好。
我知道这是旧的,但我使用比我安装的更旧的 PHP 版本(在我的情况下是 7.1,OSX Mojave 的默认版本)遇到了相同的 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 版本的有用说明:
To control the version used in a directory, create a .php-version
file that contains the version number (e.g. 7.2 or 7.2.15).
If you're using SymfonyCloud, the version can also be specified in the .symfony.cloud.yaml
file.
我在使用 ubuntu 18.04 和 Symfony 5.1 时遇到了同样的问题 我在项目根路径中添加了一个 .php_version 文件,如`控制在 a 中使用的版本目录,创建一个包含版本号(例如 7.2 或 7.2.15)的 .php-version 文件。
我的 .php-version 文件内容:
7.4
我在做 symfony serve
时遇到了同样的问题。
首先我运行symfony local:php:list
知道我的项目使用的php哪个版本。
然后我运行echo 7.4.9 > .php-version
(7.4.9是我下载的最新php版本)切换我项目的php版本
对我来说效果很好。
安装 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 试图继续使用那个已经被删除的版本。
在 /usr/local/bin
删除 php-config, phpize and phpdbg
文件后,我可以 运行 我的服务器没有问题。
我正在尝试将我的项目移动到使用 Apache 的 linux redhat 服务器,但我面临的问题是该服务器安装了 2 个不同的 PHP 版本。
Symfony (2.5.12) 似乎默认在 /usr/bin/php
寻找 php 可执行文件,但安装了 5.2 版本,其他项目需要它。
在 /opt/rh/php55/root/usr/bin/php
处安装了 PHP 的 5.5 版本,我想将其用于 symfony。
那么如何配置 Symfony 以使用安装在自定义路径的 php 版本?
如果是您的 Web 应用程序使用了错误版本的 PHP,这是 Apache 配置问题。如果是命令行,这实际上很容易解决,您只需要确保 /opt/rh/php55/root/usr/bin/
在 /usr/bin
.
$PATH
中
您可以在 ~/.bashrc
或 ~/.bash_profile
中执行此操作:
export PATH=/opt/rh/php55/root/usr/bin:$PATH
把它放在最后,注销并重新登录。您也可以直接在命令行中弹出它,但它只会应用于当前会话,因此 ~/.bashrc
或 ~/.bash_profile
选项更好。
我知道这是旧的,但我使用比我安装的更旧的 PHP 版本(在我的情况下是 7.1,OSX Mojave 的默认版本)遇到了相同的 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 版本的有用说明:
To control the version used in a directory, create a
.php-version
file that contains the version number (e.g. 7.2 or 7.2.15). If you're using SymfonyCloud, the version can also be specified in the.symfony.cloud.yaml
file.
我在使用 ubuntu 18.04 和 Symfony 5.1 时遇到了同样的问题 我在项目根路径中添加了一个 .php_version 文件,如`控制在 a 中使用的版本目录,创建一个包含版本号(例如 7.2 或 7.2.15)的 .php-version 文件。 我的 .php-version 文件内容:
7.4
我在做 symfony serve
时遇到了同样的问题。
首先我运行symfony local:php:list
知道我的项目使用的php哪个版本。
然后我运行echo 7.4.9 > .php-version
(7.4.9是我下载的最新php版本)切换我项目的php版本
对我来说效果很好。
安装 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 试图继续使用那个已经被删除的版本。
在 /usr/local/bin
删除 php-config, phpize and phpdbg
文件后,我可以 运行 我的服务器没有问题。