web-dev-qa-db-ja.com

MAMPを使用するOSXにLaravel 5.1をインストールする

OSX YosemiteにMAMPをインストールしてLaravel 5.1をインストールしようとすると、いくつかの障害物に遭遇しました。具体的には、データベースを移行しようとすると、次のエラーが発生しました。

[PDOException] SQLSTATE[HY000] [2002] No such file or directory
9
Marty Thomas

1)Composerをインストールする

composerをまだインストールしていない場合は、インストールする必要があります。 Macの ターミナルcomposerコマンドを入力するだけで、composerがインストールされている天気をテストできます。 composerがインストールされている場合は、使用可能なコマンドのリストが表示されます。

 Screen Shot 2015-08-17 at 1.34.05 PM.png 

composerをまだインストールしていない場合は、 Getting Started with Composer

2)Laravelをインストールする

Laravelは、 インストールLaravel に適切なドキュメントがあります。 OSX YosemiteでLaravelを起動して実行するために実行した手順を詳しく説明します。

Laravelインストーラを使用してインストールします。端末に次のように入力します。

cd ~/
composer global require "laravel/installer=~1.1"

composer実行可能ファイルをPath環境に追加して、laravel実行可能ファイルを見つけられるようにします。

PATH=$PATH:~/.composer/vendor/bin

新しいLaravelインスタンスをインストールし、名前を付けます。この例では、プロジェクトにsaasという名前を付けます。

laravel new saas

Macでローカルにサイトを実行するために MAMP PRO を使用しています。したがって、MAMPで新しいホストを作成し、それをsaas/publicディレクトリにポイントするだけです。

 laravel_mamp.png 

次に、 http:// saas:8888 にアクセスすると、Laravelの美しいウェルカム画面が表示されます。

 laravel5_1.png 

3)データベースを作成する

Navicat を使用してデータベースを管理するのが好きです。 Navicat for MySQLを使用して、新しいローカルデータベースを作成します。

次に、その接続を.envファイルで定義します。

 DB_Host=localhost
 DB_DATABASE=saas
 DB_USERNAME=root
 DB_PASSWORD=xxxxxxx

次のコマンドで移行をトリガーします。

php artisan migrate

MAMPを使用しているため、移行しようとしたときにこのエラーが発生しました。

[PDOException]                                    

SQLSTATE [HY000] [2002]そのようなファイルまたはディレクトリはありません

解決策は、 mysql.sockがMAMPに存在するパスの値でunix_socketキーを追加することでした

'mysql' => [
        'driver'    => 'mysql',
        'Host'      => env('DB_Host', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
        'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock',
    ],

4)まとめ

ストレージ内のディレクトリとbootstrap/cacheディレクトリは書き込み可能である必要があります。次のようにしますか?

chmod -R 777 storage
chmod -R 777 bootstrap/cache

環境ファイルの名前を変更します。

mv .env.example .env

5)PHPパス

MAMPを使用していたため、マシンに複数のバージョンのPHPがインストールされています。したがって、php artisanを実行しようとすると、エラーが発生します。

Mcrypt PHP extension required

このエラーも発生する場合は、まずMAMPで使用しているPHPのバージョンを確認してください。 MAMPのメインウィンドウ> PHPで確認できます。私の場合、バージョン5.6.10を使用していました。

次に、次の行を追加して、~/.bash_profileファイルを編集します。

export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH

端末を再起動すると、php artisanコマンドを実行できるようになります。

以上です。素晴らしいものを作成してください!

33
Marty Thomas

ローカル設定をconfig/database.phpのようなファイルに追加することは私には間違っているように見えました-ファイルへの変更はGitリポジトリにもアップロードされるためです。

コードを変更せずに正常に動作するこの他のソリューションが見つかりました:

mkdir /var/mysql
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

これは即座に機能し、PHPまたはGit対応ファイルに変更はありません。

それが役に立てば幸い。

5
Jamie Poole

MAMPを使用するMac OSへのLaravel Framework 5.7インストール

Composer Composerインストール

curl -sS https://getcomposer.org/installer | php

laravelのインストール

  1. composerグローバルにはlaravel/installerが必要です
  2. PATH = $ PATH:〜/ .composer/vendor/bin
  3. 新しいララベル

chmod -R 775ストレージchmod -R 775ブートストラップ/キャッシュ

500エラーが発生した後

エラー後にチェックされたエラーログが見つかりました

tail -f /Applications/MAMP/logs/php_error.log

見つかりました:構文エラー、予期しない '=' blog/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 388

私のPHPバージョン7.1を変更すると問題が解決しました

0
Prasanth