こんにちはジャムです。
現在、EC-CUBE4のポートフォリオ作成のためにVPSにEC-CUBE4を立ち上げて、せっせとプラグインをアップして公開していく予定です。
今回初めて、自作のプラグインをインストールした際にエラーが発生したので、その備忘録に記載します。
現象
本番モードで動かしていましたので、プラグインをアップロードして有効化した際に、エラーが発生しました。
その後は、通常ログインをして操作は可能でした。
本番モードとデバックモードでの差異は以下になります。
本番モード:システム障害が発生しました!管理者に連絡してください。
デバックモード:Warning: mkdir(): Permission denied
原因
結論から言いますと、原因は「app/proxy/entity」フォルダの権限がダメでした。
対象フォルダの権限は705の状態のため、その他のユーザーがは読み取り、実行権限しかない状態だからです。
$ cd app/proxy
$ ls -al
drwx---r x 3 user user 4096 10月 22 21:16 entity
プラグインの内容に既存のテーブルを変更するTraitファイルが入っていると、「app/proxy/entity」以下にWebサーバーがテーブル変更に関するフォルダとファイルを生成します。
だから、その際にWebサーバーにフォルダとファイルを作成する権限がないためエラーとなりました。
対策
対策はWebサーバーにも権限を持たせる必要があるため
その他のユーザーにも権限を持たせるため、権限を707にするとかですかね
本番環境の動かし方によって、決める方がいいかと思います。
$ sudo chmod 707 app/proxy
以上です。
スポンサーリンク
スポンサーリンク