jquery ファイル アップロード ウィジェットを使用しようとしています。デモ コードを自分のサイトにコピーしました。実行すると、次のエラーが発生します(Firebugによる):
"NetworkError: 500 内部サーバー エラー - http://24.xxx.xxx.xxx/server/php/ "
アップロードしたいファイルは、files/ ディレクトリに問題なくダンプされます。httpd エラー ログには、エラーが一覧表示されていません。ブラウザから server/php/index.php を直接実行すると、正しくフォーマットされた JSON 文字列が表示されます。
jqueryupload.appoint.com ではなく、自分のサイトを指すようにすべての URL を変更しました。
任意のガイダンスをいただければ幸いです。Linux、Apache 2.4、PHP 5.4.10 を実行しています。
投稿データは次のとおりです。
-----------------------------314262861723757 Content-Disposition: form-data; name="files[]"; filename="004.JPG" Content-Type: image/jpeg ÿØÿà�JFIF��H�H��ÿá&.Exif��MM�*�������
(lots of this)
$óîxÕéº4kq¡ÞÚj7¯i34à)13�Çn{ó^}@·öåå[k+÷@Úã`ÿ�MNYEÁSGÿÙ -----------------------------314262861723757--
index.php コードは次のとおりです。
<?php
/*
* jQuery File Upload Plugin PHP Example 5.14
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2010, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*/
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();
Uploadhandler.php は、https ://github.com/blueimp/jQuery-File-Upload#download で入手できるデモで提供されたオリジナルから変更されていません。
編集:追加情報。 画像以外のファイルを問題なくアップロードできます。問題が発生するのは、画像ファイルをアップロードするときだけです。/server/php/thumbnails ディレクトリには読み取りと書き込みのパーミッションがあり、デーモン ユーザーが所有しています。コード内に file.thumbnail_url への参照が表示されますが、index.html プログラムまたはサポートする JavaScript プログラムで定義された変数がどこにあるのかわかりません。