500 Внутренняя ошибка сервера в одном файле PHP

0

Сегодня я закончил работу над новым скриптом PHP, который обрабатывает запросы AJAX от комментариев и автоматически добавляет новые голоса. (Я прокомментировал, что первое включает в себя, не изменилось ли что-то, но они этого не делают)

<?php

/*include_once 'functions.php';

include_once 'db_connect.php';
include_once 'psl-config.php';*/

sec_session_start();

$azione = filter_input(INPUT_GET, 'a', $filter = FILTER_SANITIZE_NUMBER_INT);
$da = filter_input(INPUT_GET, 'd', $filter = FILTER_SANITIZE_NUMBER_INT);
$su = filter_input(INPUT_GET, 's', $filter = FILTER_SANITIZE_NUMBER_INT);

if(!is_numeric($azione)){
    exit();
}

if(!is_numeric($da)){
    exit();
}

if(!is_numeric($su)){
    exit();
}

$azione = (int) $azione;
$da = (int) $da;
$su = (int) $su;

/*
 * Le azioni che possiamo utilizzare sono 3:
 * 1: VOTE UP
 * 2: VOTE DOWN 
 * 3: SEGNALAZIONE
 * 
 * Tuttavia per identificare, dalla variabile $azione ci saranno 5 possibilià.
 * 1: Vote up
 * 2: Remove vote up
 * 3: Vote down
 * 4: Remove vote down
 * 5: Segnalazione
 */

/*
 * Nel caso di un vote UP:
 * Eliminiamo ogni vote down
 * poi aggiungiamo il vote up.
 * DELETE FROM 'azioni' WHERE 'Tipo Azione' = 2 AND 'Su' = ? AND 'Da' = ?
 */ 
if($azione == 1) {
    $delete_stmt = $mysqli -> prepare("DELETE FROM 'azioni' WHERE 'Tipo Azione' = 2 AND 'Su' = ? AND 'Da' = ?");
    $delete_stmt -> bind_param ('ii', $su, $da);

    $delete_stmt -> execute();
    $delete_stmt -> store_result();

    // Ora che abbiamo eliminato il votedown aggiungiamo il voteup.
    $stmt = $mysqli->prepare("INSERT INTO 'azioni' ('Tipo Azione', 'Da', 'Su', 'Data') VALUES ('?', '?', '?', ?);");            
    $now_time = time();             
    $stmt->bind_param('iiii', $azione, $da, $su, $now_time);

    $stmt->execute();
    $stmt->store_result();

    // Finito.
    echo 1;
} else if($azione == 2) {
    // Nel caso in cui l'azione è 2, dobbiamo eliminare il vote up.
    $delete_stmt = $mysqli -> prepare("DELETE FROM 'azioni' WHERE 'Tipo Azione' = 1 AND 'Su' = ? AND 'Da' = ?");
    $delete_stmt -> bind_param ('ii', $su, $da);

    $delete_stmt -> execute();
    $delete_stmt -> store_result();

    // Finito.
    echo 1;
} else if($azione == 3) {
    $delete_stmt = $mysqli -> prepare("DELETE FROM 'azioni' WHERE 'Tipo Azione' = 1 AND 'Su' = ? AND 'Da' = ?");
    $delete_stmt -> bind_param ('ii', $su, $da);

    $delete_stmt -> execute();
    $delete_stmt -> store_result();

    // L'azione deve diventare 2 perchè 3 non corrisponde al votedown.
    $azione = 2;

    // Ora che abbiamo eliminato il voteup aggiungiamo il votedown.
    $stmt = $mysqli -> prepare("INSERT INTO 'azioni' ('Tipo Azione', 'Da', 'Su', 'Data') VALUES ('?', '?', '?', ?);");          
    $now_time = time();             
    $stmt->bind_param('iiii', $azione, $da, $su, $now_time);

    $stmt->execute();
    $stmt->store_result();

    // Finito.
    echo 1;
} else if($azione == 4) {
    // Nel caso in cui l'azione è 4, dobbiamo eliminare il vote down.
    $delete_stmt = $mysqli -> prepare("DELETE FROM 'azioni' WHERE 'Tipo Azione' = 2 AND 'Su' = ? AND 'Da' = ?");
    $delete_stmt -> bind_param ('ii', $su, $da);

    $delete_stmt -> execute();
    $delete_stmt -> store_result();

    // Finito.
    echo 1;
} else if($azione == 5){
    // L'azione deve essere 3 perchè è quella della segnalazione.
    $azione = 3;

    $stmt = $mysqli->prepare("INSERT INTO 'azioni' ('Tipo Azione', 'Da', 'Su', 'Data') VALUES ('?', '?', '?', ?);");            
    $now_time = time();             
    $stmt->bind_param('iiii', $azione, $da, $su, $now_time);

    $stmt->execute();
    $stmt->store_result();

    // Finito.
    echo 1;
}

Сейчас это не работает; на самом деле, когда я пытаюсь загрузить страницу, я получаю ошибку внутреннего внутреннего сервера 500 и, если я иду в журнал сервера, я получаю следующие две ошибки:

[Tue Feb 17 12:58:25 2015] [error] [client ip.ip.ip.ip:port] - www.website.it - End of script output before headers: action-comment.php
[Tue Feb 17 12:58:25 2015] [error] [client ip.ip.ip.ip:port] - www.website.it - AH01215: suexec policy violation: see suexec log for more details 

У меня никогда не было этой ошибки раньше, и она просто появляется на этой конкретной странице. Каким может быть решение?

  • 0
    Вы используете .htaccess?
  • 0
    Всего на сайте всего 2 файла .htaccess
Показать ещё 2 комментария
Теги:
runtime-error

1 ответ

0
Лучший ответ

Фактически, я обнаружил, что проблема была вызвана тем, что Aptana 3 делает что-то неправильно; на самом деле, если я попытаюсь создать новый файл внутри программного обеспечения и затем загрузить его, он всегда будет возвращать ошибку 500.

Вместо этого, если я создаю файл из FileZilla, он работает как шарм.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню