За последние 24 часа нас посетили 17799 программистов и 1683 робота. Сейчас ищут 977 программистов ...

500 ошибка

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 7 фев 2013.

  1. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    на локальной машине получаю ошибку 500 Internal Server Error , но в error.log ошибка не пишется.
    страница вызывается аяксом через пост, если вызвать через гет то ошибки нету
    система линукс убунту
    как посмотреть в чем ошибка?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    код в студию, не?
     
  3. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    с кодом не все так просто
    вот где возможно есть ошибка

    Код (Text):
    1.  
    2. private function handle_file_upload($uploaded_file, $name, $size, $type, $error) {
    3.         $file = new stdClass();
    4.         $file->name = $this->trim_file_name($this->options['file_name'], $type);
    5.         $file->size = intval($size);
    6.         $file->type = $type;
    7.         $error = $this->has_error($uploaded_file, $file, $error);
    8.         if (!$error && $file->name) {
    9.             $file_path = $this->options['upload_dir'] . $file->name;
    10.             if (!is_dir($this->options['upload_dir']))
    11.                 mkdir($this->options['upload_dir'], 0777, true);
    12.             $append_file = !$this->options['discard_aborted_uploads'] &&
    13.                     is_file($file_path) && $file->size > filesize($file_path);
    14.             clearstatcache();
    15.             if ($uploaded_file && is_uploaded_file($uploaded_file)) {
    16.                 // multipart/formdata uploads (POST method uploads)
    17.                 if ($append_file) {
    18.                     file_put_contents(
    19.                             $file_path, fopen($uploaded_file, 'r'), FILE_APPEND
    20.                     );
    21.                 } else {
    22.                     if (!is_file($file_path))
    23.                         move_uploaded_file($uploaded_file, $file_path);
    24.                 }
    25.             }
    26.             else {
    27.                 // Non-multipart uploads (PUT method support)
    28.                 file_put_contents(
    29.                         $file_path, fopen('php://input', 'r'), $append_file ? FILE_APPEND : 0
    30.                 );
    31.             }
    32.             $file_size = filesize($file_path);
    33.             if ($file_size === $file->size) {
    34.                 if ($this->options['orient_image']) {
    35.                     $this->orient_image($file_path);
    36.                 }
    37.                 $file->url = $this->options['upload_url'] . rawurlencode($file->name);
    38.                 $file->url_rel = $this->options['upload_url_rel'] . rawurlencode($file->name);
    39.                 foreach ($this->options['image_versions'] as $version => $options) {
    40.                     if ($this->create_scaled_image($file->name, $options)) {
    41.                         $file->{$version . '_url'} = $options['upload_url']
    42.                                 . rawurlencode($file->name);
    43.                         $file->{$version . '_url_rel'} = $options['upload_url_rel']
    44.                                 . rawurlencode($file->name);
    45.                         if ($this->options['store_db'] == true) {
    46.                             $file->{$version . '_id'} = $this->store_db($version, $file->name, $file->{$version . '_url'}, $options['upload_dir'] . $file->name, 'create', $file->{$version . '_url_rel'});
    47.                         }
    48.                     }
    49.                 }
    50.  
    51.                 if ($this->options['store_db'] == true) {
    52.                     $file->id = $this->store_db('original', $file->name, $file->url, $file_path, 'create', $file->url_rel);
    53.                 }
    54.             } else if ($this->options['discard_aborted_uploads']) {
    55.                 unlink($file_path);
    56.                 $file->error = 'abort';
    57.             }
    58.             $file->size = $file_size;
    59.             $file->delete_url = $this->options['script_url']
    60.                     . '?file=' . rawurlencode($file->name);
    61.             $file->delete_type = 'DELETE';
    62.         } else {
    63.             $file->error = $error;
    64.         }
    65.         return $file;
    66.     }
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ставь exit(); по очереди после каждой строки сверху вниз и смотри когда ошибка появится =)
     
  5. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    а нет ли решения чтобы вывести ошибку? почему в еррор.лог не пишется ничего?
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    error_reporting(2047);

    Какой ошибки то не видит? Синтаксической или какой?)))
    Код не совсем понятен...

    Куда все-это уходит, где вывод главный?
    Сами писали скрипт-код?
     
  8. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    писал не я, иначе было бы понятно
    скрипт отдает
    превью и респонсе- пусто, в еррор лог ничего не пишется
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты уже попробовал бы мой метод и уже бы знал бы где косяк.
     
  10. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    а если не там ошибка, а в другом месте
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    3.14здец...

    Расширенная версия:
    ты бы УЖЕ СТО РАЗ УСПЕЛ ЭТО ВЫЯСНИТЬ =)
    но давай гадать на кофейной гуще и искать совета от телепатов чочо
     
  12. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Возможно нужно права на папку поменять с
    Код (Text):
    1. mkdir($this->options['upload_dir'], 0777, true);
    на
    Код (Text):
    1. mkdir($this->options['upload_dir'], 0755, true);
    О причинах ошибки 500
     
  13. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    народ, вопрос был в том, почему информация именно про эту ошибку не пишется в лог, для меня такое впервые
    на другой тачке скрипт нормально работает
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а уровень журналирования-то какой?
     
  16. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    где посмотреть? обычно ошибки пишутся
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    журналирование может случиться в
    * частный журнал, заданный настройками пхп
    * частный(-е) журнал (-ы) заданный (-е) в настройках вебсервера на разных уровнях директив
    * общий журнал веб-сервера
    * системный журнал сервера
    это про файлы. еще есть настройка уровня журналирования - о них подробно написано в мануалах по соответствующим программам.