单个 PHP 文件出现 500 内部服务器错误
500 Internal Server error on a single PHP file
今天我完成了一个新的 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
我以前从未遇到过这个错误,它只是出现在这个特定的页面上。
有什么解决办法?
其实我发现问题是Aptana 3做错了;事实上,如果我尝试在软件中创建一个新文件然后上传它,它总是 return 错误 500。
相反,如果我从 FileZilla 创建文件,它会非常有效。
今天我完成了一个新的 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
我以前从未遇到过这个错误,它只是出现在这个特定的页面上。 有什么解决办法?
其实我发现问题是Aptana 3做错了;事实上,如果我尝试在软件中创建一个新文件然后上传它,它总是 return 错误 500。
相反,如果我从 FileZilla 创建文件,它会非常有效。