Я пытаюсь использовать виджет загрузки файлов jquery. Я скопировал демо-код на свой сайт. Когда он запускается, я получаю следующую ошибку (согласно Firebug):
«NetworkError: 500 Internal Server Error — http://24.xxx.xxx.xxx/server/php/"
Файл, который я хочу загрузить, без проблем сбрасывается в каталог files/. В журнале ошибок httpd нет ошибок. Если я запускаю server/php/index.php прямо из браузера, я вижу правильно отформатированную строку JSON.
Я изменил все URL-адреса, чтобы они указывали на мой сайт, а не на jqueryupload.appoint.com.
Любое руководство будет оценено. Я использую 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
EDIT: дополнительная информация. Я могу без проблем загружать файлы без изображений. Проблема возникает только при загрузке файлов изображений. Каталог /server/php/thumbnails имеет права на чтение и запись и принадлежит пользователю демона. Я вижу в коде ссылки на file.thumbnail_url, но нигде не вижу эту переменную, определенную либо в программе index.html, либо в поддерживающих программах javascript.