2016-01-19 20 views
5

laravelアプリケーション用の新しいサーバを設定しています。私は作者をインストールし、私のcpanelからphp5.6.15を選んだ。しかし、ターミナルでphp -vコマンドを実行すると、現在のバージョンがphp5.2.19として表示されます。ここでlaravelアプリケーション用のbluehost上にサーバを設定し、php -vで問題が発生しました

はそれが私がgitのを使用してサーバに私のコードをアップロードした5.6バージョン

enter image description here

を示して自分のサーバー上で私のphp.iniファイルです。コマンドコンポーザーをインストールすると、このエラーが表示されます。

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", 
    } 
} 

Iは、/ usr/PHP/php56の下で利用可能php56を持っていると私はそれにエイリアスを作るか、単に完全なパスを入力して、それを実行することができます。私もそれにエイリアスを作った。そのあとphp -vは私に5.6.15を示すが、私が composer installを実行するとき、それは依然として上記の同じ出力を与える。

php cliのデフォルトバージョンを5.6に設定できない場合や、ブルーホストサーバーでlaravelフレームワークをサポートしているものがあります。ブルーストーンのサポートは、仕事の残りをすることができる作曲家がいるので、あまり心配しないと思う。この問題を解決するためのあなたの助けは非常に感謝しています。

+0

リモート(おそらくプロダクション環境)で依存関係を構築してダウンロードしてもよろしいですか?それは悪い習慣のように聞こえる。あなたのプロジェクトでパッケージを作成し、それをビルドするよりもサーバーをビルドするのが良いです(依存関係あり) – mkbrv

+0

@mikibrvあなたは、私のローカルマシンから完全なソースを全作者で展開すべきだと提案しています'vendor /'ディレクトリの下にインストールされているパッケージ?? –

+1

はい。私はそれがウェブアプリ(php - java - 何でも)を配備する最も安全で最良の方法だと思います。既に構築してテストしたパッケージですが、そこに何があるかを知っています(GIT TAGにいくらか類似しています)。ほとんどの場合、ベンダーのディレクトリをアップロードする必要はありません(ただし、GITのようなバージョン管理を使用する必要があります)。私は自分自身に、アプリケーションからのジップを作成するスクリプトを作成しました。bootstrap-public-vendorディレクトリと.htaccessファイル – mkbrv

答えて

1

次のようにそれを実行する必要があります

/usr/php/php56 composer.phar 

私は仕事にcomposerためHostGatorに似た何かをしなければなりません。

composer.pharを取得するには、php -r "readfile('https://getcomposer.org/installer');" | phpを実行してください。

+0

私はOPとまったく同じ問題があります。私は自分のサーバのルートフォルダにphp-5.6.17をアップロードしました。私が/php-5.6.17 composer.pharというコマンドを実行すると、私はちょうど "php-5.6.17がディレクトリです"という応答になります。私の場合、/ usr/php/php56は有効なディレクトリではないので、 "/ usr/php/56 composer.phar"というコマンドを実行するのと同じです。 明らかに私はディレクトリではなくファイルを探していますが、探しているファイルがわかりません。私はphp56を持っていますが、php56はありません。それだけでなく、php56でコマンドを実行すると、php-cliを使う必要があると言います。 この問題を解決する方法はありますか?ありがとうございました。 – Jameson

+0

ああ、持っています。 /usr/php/56/bin/php composer.phar install – Jameson

+0

私はこの行を '/ usr/php/php56 composer.phar'に実行するにはどうすればよいですか –

関連する問題