当前位置: 首页 > 知识库问答 >
问题:

composer使用较新版本的php

苏弘盛
2023-03-14

如何让composer使用我安装的较新版本的php?我已经下载并在所有本地服务器上使用了PHP5.4,但当我下载composer时,它指向我的mac电脑的默认设置#/usr/local/bin/env版本,即5.3.15。我试图编辑composer可执行文件并更改使用的php,但它破坏了可执行文件。

我试图使用作曲家来安装Laravel,因为它下载了错误的版本。

这就是我的composer可执行文件顶部的样子,但下面有一堆奇怪的字符。

#!/usr/bin/env php
<?php
/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view
 * the license that is located at the bottom of this file.
 */

Phar::mapPhar('composer.phar');
define('COMPOSER_DEV_WARNING_TIME', 1366931166);
require 'phar://composer.phar/bin/composer';

laravel项目的composer.json

{
    "require": {
        "laravel/framework": "4.0.*@dev"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-update-cmd": "php artisan optimize"
    },
    "minimum-stability": "dev"
}

共有3个答案

鲁熙云
2023-03-14

默认情况下,*nix系统上的composer使用环境指定的PHP二进制/可执行文件。你可以在第一行中看到,这是shebang:

#!/usr/bin/env php

您可以告诉shell使用更具体的PHP版本,例如:

#!/usr/local/php5/bin/php

在Windows系统上,如果使用composer设置,则可以指定PHP二进制文件,然后该设置将更改环境以满足这些需要。但是您也可以轻松地重写批处理文件,或者配置windows操作系统,以使用特定的PHP二进制文件执行.phar文件。

邵博远
2023-03-14

我发现了问题。我将composer.phar文件移动到我的/usr/local/bin/目录中,无论我做了什么,它始终使用5.3.15。我从bin中删除了可执行文件,重新下载了.phar,并将其移动到我的项目根目录下,运行了“php composer.phar install”,看起来效果不错。

为了收拾残局,我做了以下工作:

我把composer.phar留在了我的用户配置文件的根

/Users/davidadams/composer.phar

然后我打开我的.bash_profile并添加了以下别名

alias composer='/usr/local/php5/bin/php /Users/davidadams/composer.phar'

这样,我就可以在全球范围内使用它,并且我可以定义要使用的php版本。希望其他人会觉得这很有用。

刘翔宇
2023-03-14

如果您不喜欢永久设置,以下命令适用于我:

/Applications/MAMP/bin/php/php5.6.27/bin/php /usr/local/bin/composer install

语法是:

{PATH TO YOUR PHP VERSION} {PATH TO COMPOSER EXECUTABLE} {COMPOSER COMMAND}

要了解可执行路径:哪个{executable}非常有用。例如:哪个作曲家给出了我在上面的命令中使用的以下输出:

/usr/local/bin/composer

 类似资料:
  • 问题内容: 我正在尝试在Linux服务器上安装tensorflow,而我只是一个没有root许可的用户。而且,当我通过跳转服务器SSH到文件时,无法与文件传输文件。系统如下: 我通过安装了tensorflow ,一个tensorflow程序将显示以下内容: GLIBC_2.16’ not found ` 我安装了新版本的glibc 按照在线说明,我通过以下方式更改了环境变量: 但是这导致我遇到一个

  • 问题内容: 我已经在PHP 5.5.12和Composer中使用了WAMP 2.5。的PHP是: 对于新项目,我需要使用nginx并安装PHP 7。 现在,我使用GitBash MINGW32,尝试使用Composer安装laravel 5.3,但它说 我已经把两者和在Windows系统PATH变量。 如何更改Composer使用的PHP版本? 问题答案: 确实,有三种方法可以做到这一点。 在其中

  • 这件事我已经做了好几天了。我使用1和1托管,他们的PHP设置有点奇怪。 如果我只使用,那么我使用的是PHP4.4.6,这远远不够。但是,我可以运行,再深入一点,但它仍然失败,因为在某个地方,PHP再次被调用,但它失败了,因为它使用的是4.4.6。 有没有办法告诉Composer使用命令?有人成功地在1and1主机上配置了作曲家吗? 我试图让Laravel启动并运行(使用Composer)。我已经能

  • 这可能是一个愚蠢的问题,但我会遇到任何问题运行Java程序和相关的库编译Java版本1.6和1.7(我编译使用1.7而一些库编译使用1.6)和运行整个程序在1.7的JRE里?

  • 问题内容: Cloundfoundry最近将其Java buildpack更新到2.5版(包括Java 8和tomcat 8)。我仍想使用2.4版,因为我的应用尚未升级到Java 8。这样做最简单的方法是什么? 我可以使用 但是如何指定使用版本2.4(https://github.com/cloudfoundry/java- buildpack/releases/tag/v2.4 )?显然,指定标

  • 问题内容: 安装Laravel最快,最简单的方法是通过composer命令。从laravel文档(http://laravel.com/docs/quick),它表明我们可以使用以下命令进行安装: 但是,当您运行上述命令时,它将获取最新版本的Laravel。如果要安装最新版本的4.0.x,如何控制它?或者,当4.2退出时是4.1.x吗? 问题答案: 从命令 create-project命令将给定