在 bluehost 上为 laravel 应用程序设置服务器并遇到 php -v 问题

setting up server on bluehost for laravel application and having issue with php -v

我正在为 laravel 应用程序设置新的服务器。我已经安装了作曲家并从我的控制面板中选择了 php5.6.15。但是当我在终端中使用 运行 php -v 命令时,它显示我当前的版本为 php5.2.19。

这是我服务器上的 php.ini 文件,它显示 5.6 版本

我已使用 git 将我的代码上传到服务器。当我 运行 命令 composer install 它给了我这个错误。

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/framework v5.1.28 requires php >=5.5.9 -> your PHP version (5.4.43) or value of "config.platform.php" in composer.json does not satisfy that requirement.
    - laravel/framework v5.1.28 requires php >=5.5.9 -> your PHP version (5.4.43) or value of "config.platform.php" in composer.json does not satisfy that requirement.
    - Installation request for laravel/framework v5.1.28 -> satisfiable by laravel/framework[v5.1.28].

我正在使用 laravel 5.1。如果我将它降级到 5.0,它会给出与其他包的依赖性错误。这是我的 composer.json 文件。

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.4.43",
        "laravel/framework": "5.1.*",
        "bestmomo/scafold": "dev-master",
        "illuminate/html": "5.*",
        "barryvdh/laravel-debugbar": "^2.0",
        "intervention/image": "^2.3",
        "doctrine/dbal": "^2.5",
        "davejamesmiller/laravel-breadcrumbs": "^3.0",
        "yajra/laravel-datatables-oracle": "^5.11",
        "zizaco/entrust": "dev-laravel-5"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist",
    }
}

我在 /usr/php/php56 下有 php56,我可以 运行 通过给它取别名或输入完整路径来 运行 它。我也给它做了一个别名,然后 php -v 显示我 5.6.15 但是当我 运行 composer install 它仍然给出与上面相同的输出。

我可能无法将 php cli 的默认版本设置为 5.6,或者它与 bluehost 服务器上的 laravel 框架支持有关。我认为 bluehost 支持不太关心,因为我有作曲家可以做其余的工作。非常感谢您帮助解决这个问题。

你应该像下面这样执行它:

/usr/php/php56 composer.phar

我必须在 HostGator 做类似的事情才能使 composer 工作。

composer.phar 只是 运行 php -r "readfile('https://getcomposer.org/installer');" | php.