質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

artisan

artisanは、PHP Laravelフレームワークのコマンドの事です。 Artisanコマンドを使う事で、DBのテーブルやバンドル等を追加することができるコマンドです。

Q&A

1回答

2087閲覧

laravel8 sail php artisan コマンドが、テーブル物理削除、マイグレーションファイル削除後に動かなくなった。(chmod(): Operation not permitted)

ay_kyariko

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

artisan

artisanは、PHP Laravelフレームワークのコマンドの事です。 Artisanコマンドを使う事で、DBのテーブルやバンドル等を追加することができるコマンドです。

0グッド

0クリップ

投稿2021/09/29 03:02

前提・実現したいこと

Laravel8にてsailからスタートアップしたプロジェクト上で、簡易CMSを作成しようとしております。
Winsows 10 home上にDocker desktopで環境を構築し、
基本的なマスタテーブルを./vendor/bin/sail php artisan make:migrate でマイグレーションファイルを作成し
./vendor/bin/sail php artisan migrate にて テーブルを作成、コントローラ等を実装後、
必要なカラムを入れ忘れたのを思い出し、テーブルをdrop table で消去し、マイグレーションファイルを再作成しようとしました。

発生している問題・エラーメッセージ

./vendor/bin/sail php artisan make:migration projects_table

コンソール出力

In Filesystem.php line 207: chmod(): Operation not permitted

ログ出力

[2021-09-29 11:39:53] local.ERROR: chmod(): Operation not permitted {"exception":"[object] (ErrorException(code: 0): chmod(): Operation not permitted at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:207) [stacktrace] #0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(207): chmod() #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(181): Illuminate\Filesystem\Filesystem->replace() #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(136): Illuminate\Foundation\PackageManifest->write() #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(106): Illuminate\Foundation\PackageManifest->build() #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(89): Illuminate\Foundation\PackageManifest->getManifest() #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(78): Illuminate\Foundation\PackageManifest->config() #7 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php(26): Illuminate\Foundation\PackageManifest->aliases() #8 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(237): Illuminate\Foundation\Bootstrap\RegisterFacades->bootstrap() #9 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith() #10 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap() #11 /var/www/html/artisan(37): Illuminate\Foundation\Console\Kernel->handle() #12 {main} "}

試したこと

./vendor/bin/sail php artisan migrate:refresh
./vendor/bin/sail php artisan cache:clear

上記同様のエラーが発生いたします、

様々な掲示板等で、
./storage 以下のパーミッションを確認するようにとの記事を見かけたので確認いたしましたが、
プロジェクトを初期に構築したユーザアカウントですべての権限がついており、上記ログファイルやコンソール出力にも、具体的にどこのパスか?の記載がないため、八方ふさがりな状況です。

補足情報(FW/ツールのバージョンなど)

OS:Windows home 10
ミドルウェア:wsl2 (ubuntu),docker_desktop

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

php

1/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php

のchmodしているところを修正して、どのディレクトリでエラーが出ているのかを確認してみる
(たぶんstorageあたりかな)
そのディレクトリの権限を777にしてみるとか

↓こんなのもありますが、該当するか不明
https://suzaku-tec.hatenadiary.jp/entry/2017/09/29/052722

投稿2021/09/29 03:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ay_kyariko

2021/09/29 03:59

それも考えたのですが、ざっと見て、ログを出力するロガーをどうやって引き込んでくるか? がすぐにわからなかったので、いったん保留しておりました。 もう少し、深堀してみます。
ay_kyariko

2021/09/29 04:21

/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php Dockerイメージ上にファイルが存在しませんでした。 プロジェクトディレクトリ\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php にログを出力するようにしたのですが、出力が確認できず。 おそらく、何らかのコマンドを介して /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php にマウントされているような気がしたので、これ以上触ると危険かと思います。
退会済みユーザー

退会済みユーザー

2021/09/29 04:25

laravelのフレームワークなので、composer installで取得されます (/var/www/html/vendor配下のすべて)
ay_kyariko

2021/09/29 04:34

DB側にmigrationというテーブルがありますが、これを手動でtruncateするのはまずいですかね?
退会済みユーザー

退会済みユーザー

2021/09/29 04:37

migrationしたのが、してないという認識にかわるだけです
ay_kyariko

2021/09/29 04:49

./vendor/bin/sail composer install Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi In Filesystem.php line 208: chmod(): Operation not permitted Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1 同じような箇所でエラーが発生いたしました。
ay_kyariko

2021/09/29 04:51

すみません、Laravelを使用するのがかなり久しぶりなので、あまりよく知らないのですが、 Laravel8で導入されたsailを使って Docker上で開発環境を立てる際は、root権限でインストールするものなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問