OSX YosemiteにMAMPをインストールしてLaravel 5.1をインストールしようとすると、いくつかの障害物に遭遇しました。具体的には、データベースを移行しようとすると、次のエラーが発生しました。
[PDOException] SQLSTATE[HY000] [2002] No such file or directory
composerをまだインストールしていない場合は、インストールする必要があります。 Macの ターミナル にcomposer
コマンドを入力するだけで、composerがインストールされている天気をテストできます。 composerがインストールされている場合は、使用可能なコマンドのリストが表示されます。
composerをまだインストールしていない場合は、 Getting Started with Composer
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ディレクトリにポイントするだけです。
次に、 http:// saas:8888 にアクセスすると、Laravelの美しいウェルカム画面が表示されます。
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',
],
ストレージ内のディレクトリとbootstrap/cacheディレクトリは書き込み可能である必要があります。次のようにしますか?
chmod -R 777 storage
chmod -R 777 bootstrap/cache
環境ファイルの名前を変更します。
mv .env.example .env
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
コマンドを実行できるようになります。
以上です。素晴らしいものを作成してください!
ローカル設定をconfig/database.phpのようなファイルに追加することは私には間違っているように見えました-ファイルへの変更はGitリポジトリにもアップロードされるためです。
コードを変更せずに正常に動作するこの他のソリューションが見つかりました:
mkdir /var/mysql
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock
これは即座に機能し、PHPまたはGit対応ファイルに変更はありません。
それが役に立てば幸い。
MAMPを使用するMac OSへのLaravel Framework 5.7インストール
Composer Composerインストール
curl -sS https://getcomposer.org/installer | php
laravelのインストール
chmod -R 775ストレージchmod -R 775ブートストラップ/キャッシュ
エラー後にチェックされたエラーログが見つかりました
tail -f /Applications/MAMP/logs/php_error.log
見つかりました:構文エラー、予期しない '=' blog/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 388
私のPHPバージョン7.1を変更すると問題が解決しました