やわらかしかっけい

なんでもすぐに忘れてしまう自分のために

【解決】WordPressでメディアがアップロードできない

メディアをアップロードしようとすると下記のようなエラーメッセージが出るようになったので、解決してほしい という依頼があった。

ディレクトリ○○を作成できませんでした。 この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?」

OK!パーミッション

…と思ったら。

アップロード先フォルダを変更しているケース

アップロード先が、デフォルトの /wp-content/uploads から変更されており、
設定 > メディア設定 の「ファイルアップロード」の項目から

  • アップロードするファイルの保存場所
  • ファイルへの完全なパス

が独自に設定されているケースだった。

(なお、この項目はWP ver.3.6以降デフォルトでは表示されず、カスタマイズされている場合のみ表示される仕様らしい。)
blog.s-giken.net

パーミッション755、757にしても解決できず

  • アップロードするファイルの保存場所
../images/uploads

という指定がされており、パスは間違っていなかった。
相対パスの場合は、wp-config.phpがある場所からのパスを指定する)

images、uploads 各フォルダのパーミッションは755に設定されており、757にしても変わらず。

絶対パスで解決

  • アップロードするファイルの保存場所
../images/uploads
↓
/home/ドメイン/www/images/uploads

にしてみたら、なぜか解決した。

絶対パスはサーバーにより異なる。上記はさくらレンタルサーバーの場合)

なんで解決したのかはわからないが、一応記録しておく。

レスポンシブの時にpositionの指定を変えたい

たとえばtop指定→bottom指定に

大画面の時は上部に、スマホは下部に表示したいな〜っていうとき

nav {
  position:fixed;
  top:16px;
  left:16px;
}

@media screen and (max-width: 600px){
  nav {
    bottom:16px;
  }
}


ってすると、bottomが効かない。
topが優先されちゃう。

unset というソリューション

top:unset; とすればよい。

nav {
  position:fixed;
  top:16px;
  left:16px;
}

@media screen and (max-width: 600px){
  nav {
    top:unset;
    bottom:16px;
  }
}

こういう簡単なことでもハマると時間を喰うから、メモっておく

Let's Encrypt更新自動化 ついに

ajicolor.hatenablog.jp
ajicolor.hatenablog.jp

screen capture 1
screen capture 2

オイ!!!!!!!!!!!!

ついにやったぞ!

原因:cronのPATH環境設定

qiita.com

こちらの記事の(3)がズバリでした。
こんなんわかるか!

Qiita、MokeeeMokeeeさん、ありがとうございます。
あなたに教えてもらわないと絶対に無理でした

# echo $PATH
うんたらかんたら
  • /etc/cron.d/letsencrypt
PATH=うんたらかんたら
00 4 * * 4 root /root/certbot-auto renew --post-hook "service httpd restart"

qiita.com