即時通訊發佈數據與ajax到PHP,此代碼在本地服務器(即時通訊使用XAMPP)工作正常,但是當我上傳到Web服務器它沒有采取數據和表示我這個錯誤jQuery,Ajax,PHP後發生錯誤500(內部服務器錯誤)
POST http://my_server_IP/login.php 500 (Internal Server Error)
如果我從JSON改變數據類型爲應用/ JSON並添加的contentType:「應用/ JSON;字符集= UTF-8' ,
則shwong另一個錯誤
POST http://my_server_IP/login.php 500 (Internal Server Error)
但在本地機器上它工作正常,我可以用相同的代碼
登陸這裏是我的JQuery,AJAX代碼
$.ajax({
dataType: "json",
type: "POST",
data: {user: sEmail, pass: sPass},
url: "login.php",
success:function(response){
var a = response;
if(a.res=='agree'){
var st = a.role+","+a.name;
$.cookie("imgup", st, { path: '/imgup', expires: 2 });
window.location.href = "logged.php";
}else if (a.res == 'error') {
errorDisplay(a.error);
}
}
});
,這是PHP
<?php
header('Content-Type: application/json');
require_once('inc/init.php');
require_once "helper/helper.php";
$email = sanitize($_POST['user']);
$pass = sanitize($_POST['pass']);
$sql_query = $db->query("SELECT * FROM `user_admin` WHERE `username`='$email'");
if(mysqli_num_rows($sql_query) > 0){
$sql = mysqli_fetch_assoc($sql_query);
if(password_verify($pass, $sql['password'])){
$role = explode(',',$sql['role']);
if(in_array("admin", $role)){
echo json_encode(array('res' => 'agree', 'role' => 'admin','name' => $sql['id']));
}elseif(in_array("editor", $role)){
echo json_encode(array('res' => 'agree', 'role' => 'editor','name' => $sql['id']));
}elseif(in_array("user", $role)){
echo json_encode(array('res' => 'agree', 'role' => 'user','name' => $sql['id']));
}
}else{
echo json_encode(array('res' => 'error', 'error' => 'user_pass'));
}
}else{
echo json_encode(array('res' => 'error', 'error' => 'user_not_exist'));
}
?>
錯誤日誌是
PHP致命錯誤:在/var/www/html/login.php調用未定義功能password_verify()第11行,引用者:http://__my_IP__/login_page.php
但此功能工作正常在本地主機!!!
我該如何解決這個錯誤?
注: sanitize方法是檢查存在的字符串中
看看你的服務器錯誤日誌,它會告訴你*爲什麼*它拋出了500錯誤。 – aynber
檢查服務器日誌...並分享錯誤,以便我們可以幫助或建議更好。 – Naincy
哇我可以找到錯誤日誌,我在/ var/log/httpd中搜索它,我喜歡一個名爲** error_log **的文件,但該日誌只有舊數據 –