簡體   English   中英

作曲家使用較新版本的 php

[英]composer to use newer version of php

我如何讓作曲家使用我安裝的較新版本的 php? 我已經在所有本地服務器中下載並使用了 php 5.4,但是當我下載 composer 時,它指向我 mac 的默認 #!/usr/local/bin/env 版本,即 5.3.15。 我嘗試編輯 composer 可執行文件並更改使用的 php,但它破壞了可執行文件。

我正在嘗試使用 composer 安裝 Laravel,因此它下載了錯誤的版本。

這是我的作曲家可執行文件頂部的樣子,但下面有一堆奇怪的字符。

#!/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"
}

如果你不關心永久設置,下面的命令對我有用:

/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}

了解可執行路徑: which {EXECUTABLE}可能非常有幫助。 例如: which composer給出了我在上面的命令中使用的以下輸出:

/usr/local/bin/composer

我發現了問題。 我將 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 版本。 希望其他人會發現這很有用。

默認情況下,*nix 系統上的 composer 使用環境指定的 PHP 二進制文件/可執行文件。 您可以在第一行中看到shebang

#!/usr/bin/env php

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

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

在 Windows 系統上,如果您使用 Composer 設置,您可以指定 PHP 二進制文件,然后設置將更改環境以滿足這些需求。 但是您也可以輕松地重寫批處理文件 - 或 - 配置 Windows 操作系統以使用特定的 PHP 二進制文件執行 .phar 文件。

sudo vim ~/.bash_profile

添加

export PATH="/Applications/MAMP/bin/php/php7.3.1/bin:$PATH"

在上面的路徑中我有 php 7.3.1 所以把它改成你有的任何路徑

然后按 Esc 然后 :wq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM