Laravelを試してみようと思い、Laravel 5.5 の参考書を購入してそれを見ながら学習しています。
Dockerの環境でやってみたいと考え、参考書にあるとおりにDocker-comporsでLaravelを扱える状態までは何とかできました。
しかし、ワークスペースのコンテナに入って『php artisan migrate』を実行すると、
In 2014_10_12_100000_create_password_resets_table.php line 16:
Parse error: syntax error, unexpected 'Schema' (T_STRING)
と、エラーが出てきます。
調べてみると、PHPのバージョンが8だと'Schema'が使えないのでバージョンを下げる必要がある。
などの情報があったのでバージョンを調べてみました。
php... 7.3.27
laravel... 5.5.50
となっているのでおそらく大丈夫かな?と思います。
MySQLのDBが存在していない というのが原因だという記事も見つけ、この通りにDBを作成してDB名を変更しました。
しかし、『⑦mysqlのユーザー承認方式を変える』のところで
alter user 'test_user' identified with mysql_native_password by 'root';
を実行した結果、
実行:alter user 'test_user' identified with mysql_native_password by 'root';
→ ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
といったエラーが出てきたので何か違っているかもしれません。
結果、『migrations』というテーブルは作成されたのですが、『homestead』という名前のテーブルは作成されないままです...。
データベースを作る権限の付与を行って実行できていると思うのですが。
最終的に、『migrations』という名前のテーブルは無事に作成されていますが、恐らく作成されるであろう『homestead』という名前のテーブルは作成されていない状況です。
また、一旦Docker環境は諦めてHomestead環境でやってみようと考えてやってみたところ、同じエラーが発生しました。
そこで色々と試してみた結果、
コンソール画面にて『php -v』でバージョンを見ると『7.3』となっているのですが、
『Homestead.yaml』の『sites』の欄に記載されているphpのバージョンが『8』となっていることに気が付き、
その部分を『7.3』に変更して実行したところ、正常にマイグレーションする事が出来ました。
そこで、もしかしたらDockerfileに記載されているphpのバージョンが違う可能性が自分の中で浮上したのですが、
『dockerfile』という名前のファイルが複数存在していたりと、具体的にどの部分を確認すると良いのかわかりません。
もし、自分の予想通りDockerfileなどが怪しい場合はどのファイルを確認するとよいのでしょうか?
自分でも問題の原因をはっきりと理解できていないので要領を得ない質問となってしまいましたが、
助言いただけると幸いです。
序の質問なのですが、Laravel5.5をやっていますが LTS が バージョン6 とのことなので、
ある程度学習したら バージョン6 を学習しようと思い、そちらの参考書も買っていました。
ですが、最近 バージョン8 の参考書が発売されたり、1月に新しい LTS のバージョン9 がリリース予定などの情報を見ました。
現在、初心者はどのバージョンを学習するのがよいと思いますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/22 03:18
2021/08/23 08:01 編集
2021/08/22 05:03