PHP Warning: array_keys() [function.array-keys]: The first argument should be an array in /hogehoge/wp-content/plugins/ktai_entry/post.php on line 380
ちょっと変な動作ですね。
353 行目の upload_images()
で画像のアップロードに失敗していると、画像へのリンク挿入に失敗するため、結果として重複判定にひっかかってしまいます (すでに下書きとして DB に入っているため)。
ということで、upload ディレクトリーの権限を確認してみてください。inject.php を使う方式の場合、inject.php を起動するユーザーにも書き込み権限が必要です。www ないし www-data ユーザーだけしか書き込み権限がないと、上記のような動作になってしまいそうです。
Ktai Entry 側も、重複チェックのやり方がまずいと分かりましたので、調整してみます。
早速の回答ありがとうございます。
>ということで、upload ディレクトリーの権限を確認してみてください。inject.php を使う方式の
>場合、inject.php を起動するユーザーにも書き込み権限が必要です。www ないし www-data
>ユーザーだけしか書き込み権限がないと、上記のような動作になってしまいそうです。
元々、操作は管理画面上からおこなっていました。
(「すぐにメッセージを読み出す。」を使っています)
uploadディレクトリって、デフォルトだと wp-content/uploads のことですよね?
それなら権限も777にしていますし、通常の投稿におけるアップロードもできてますね・・・
よろしくお願いいたします。
(「すぐにメッセージを読み出す。」を使っています)
その場合は retrieve.php を使う方式になります。inject.php を使う方式ではありません。「すぐに…」のリンクをクリックすると分かりますが、URL は retrieve.php になっているはずです。この場合は、Apache を動かすユーザー (www とか www-data) の権限で動作するので、画像アップロードでパーミッションエラーになることは少ないです。
uploadディレクトリって、デフォルトだと wp-content/uploads のことですよね?
それなら権限も777にしていますし、通常の投稿におけるアップロードもできてますね・・・
年月ごとにディレクトリーを切り分けている場合、それぞれのディレクトリーも 777 ないし 757 であるか確認してみてください。
通常のアップロードができていることは、あまり関係ありません。inject.php を起動するユーザー (FTP やシェルログインするユーザー) と、投稿画面から画像アップロードするユーザー (通常は www とか www-data) とは異なるためです。
あとは、GD が組み込まれていない場合も画像保存ができないので、同様のエラーがあり得ます。PHP のビルドオプションを確認するか、phpinfo() を実行して確認してみてください。
あ、retrieve.php の 136 行目はオブジェクトの名前がミスっていますね……。これも修正せねば。
> あとは、GD が組み込まれていない場合も画像保存ができないので、同様のエラーがあり得ます。
> PHP のビルドオプションを確認するか、phpinfo() を実行して確認してみてください。
ご指摘の通り、GDのオプションがありませんでした。
インストールし直してみたところ、問題なく掲載できました。
ありがとうございました。
それにしても絵文字まで対応しているのはスゴイですね。
どうしてもそれがやりたかったので、非常に助かってます。
これからも頑張ってください。
GD の問題でしたか……。自前サーバーだとときどき入ってないことがありますね。
現行バージョンでも GD の存在チェックはしているのですが、その後の処理がよくありませんでした。次のバージョンでは、GD がない場合にログを記録するようにしてみます。
それにしても絵文字まで対応しているのはスゴイですね。
どうしてもそれがやりたかったので、非常に助かってます。
Ktai Style, Ktai Entry は、携帯対応ツールとしては後発になるため、既存のものにない機能を入れるということで、絵文字対応を目玉にしています。絵文字のメール投稿ができるというのは、たぶん Movable Type では無理のはずです 😉
Ktai Entry では、今後デコメ対応を検討していますが、デコメをどうやって投稿に反映させたらいいか悩んでいます。デコメ絵文字ぐらいならいいんですが、背景も対応させるのはどうやったらいいかなあ、と。