drupalで画像がアップロード出来ない
Drupal7で記事を書こうとした時、画像のアップロードが出来ない問題が発生しました。 原因の特定方法と原因、解決策についてまとめておきます。
画像がアップロード出来ない
記事の作成時、画像のアップロードを行おうとするとエラー文が出て処理ができませんでした。
原因特定のためログを見る
/var/log/httpd/error_log
を見たのですが、エラー内容が一切書き込まれなかった。
[base url]/admin/reports/dblog
こちらにアクセスするとログを見ることができた。
原因と思われるログは以下のとおり。
ファイルフィールド field_image 用のアップロードディレクトリー public://field/image/blog_post が作成できないかアクセスできません。その結果、新しくアップロードされたファイルがこのディレクトリーに保存できないため、アップロードがキャンセルされました。
保存できないということは書き込み権限がないと予想。
public:// ディレクトリがどこかわからないので調べる。
public://
ディレクトリは以下のページで確認できます。
[base url]/admin/config/media/file-system
私の環境では、sites/default/files
がpublic://
ディレクトリでした。
ls -l sites/default/files/field/image
で権限確認。
書き込み権限がありませんでした。
原因は書き込み権限が無かったこと
対象のディレクトリに対して書き込み権限を与えて完了。
chmod o+w -R sites/default/files/field/image
今回はその他のユーザに対して書き込み権限を与えましたが場合によってはグループやユーザに与えることになると思います。
今回はこれで問題解決できました。