目次
動作環境
HHVM: 3.18.2-dev
OS: kusanagi
サーバー: Conoha 1G
Wordpress: 4.7.3
出会いは突然に
やってきました!うれしくない!
画像がアップロードできなくなりました!
先週の4/5に記事を書いた時点では問題無かったのですが、本日(4/10)に記事を書こうと思ったら画像がアップロードできないじゃないですか!
原因は?
アップロードの項目を見ると、最大アップロードサイズが、0Bになってるじゃないですか!
検証
アップロード容量のところをいじった記憶が無いのですが、むしろいじる訳がないのですが・・・
念の為確認する。
下記PHPを走らせる。
phpinfo();
うーむ、16MB設定されてますね。
ちなみに当ブログはHHVMで稼働しています。
もう一年くらいHHVMですが、今のところ問題ありませんね。
ソースを追う
設定値は問題無さそうなので、Wordpressのバグなのか、プラグインのバグですかね。
とりあえず、ソースを追ってみます。
まずは、メディアページのソースを確認する。
<?php media_upload_form(); ?>
media_upload_form() が、0Bを表示するコンテンツを吐き出しているようです。
ここのところが怪しいですね。
さらに追います。
$max_upload_size = wp_max_upload_size(); if ( ! $max_upload_size ) { $max_upload_size = 0; }
続いてここが怪しいですね。
なにかを変数に格納して、判別して、だめだったらアップロード容量を0に設定するみたいです。
なにを格納しているのか追いかけます。
$u_bytes = wp_convert_hr_to_bytes( ini_get( 'upload_max_filesize' ) );
はい、来ました。
ここが怪しいです。
サーバーに設定されたupload_max_filesizeを取り出して、wp_convert_hr_to_bytes()に投げ込んでいます。
ひとまず、 ini_get( 'upload_max_filesize' )が16MBを取得しているのかを確認します。
var_dump(ini_get( 'post_max_size' )); bool(false)
え!
false を返してくるんですが!
試しに、HHVMをやめてPHP7に切り替えてみる。
$ kusanagi php7
kusanagiはコマンド一発で変更ができて楽ですねー
な、治ったー!
原因はHHVMなのか?
ひとまずは、HHVMは避けてPHP7で運用してみます。
今日はこの辺で―