このコードは、ローカル・サーバー(XAMPPを使用しています)で正常に動作していますが、Webサーバーにアップロードしたときデータと私はアプリケーション/ JSONにJSONからデータ型を変更し、のcontentType追加する場合、私は、このエラーJQuery、Ajax、PHPのポスト・エラー500(内部サーバー・エラー)
POST http://my_server_IP/login.php 500 (Internal Server Error)
を示す:「アプリケーション/ JSONを。文字セット= UTF-8'
が、それは
POST http://my_server_IP/login.php 500 (Internal Server Error)
別のエラーをshwongされているが、ローカルマシンでそれが正常に動作している、私はここで同じコードで
にログインすることができ、私の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'));
}
?>
ですリファラ、ライン11上の/var/www/html/login.phpで未定義の関数password_verify()を呼び出します:
http://__my_IP__/login_page.php
が、その機能が正常に動作し
エラーログは
PHPの致命的なエラーがありますローカルホストで!
このエラーを修正するにはどうすればよいですか?
注:サニタイズは、ホスティングサーバ上でPHPコードの上にphpinfo()
を入れて、(ではないAJAXを通じて)直接実行する文字列
ルックに動作していることを確認しますログ、それはあなたになぜ* 500エラーを投げているかを伝えます。 – aynber
サーバのログを確認し、エラーを共有してください。 – Naincy
私はエラーログを見つけることができます、私は/ var/log/httpdでそれを探しました。** error_log **という名前のファイルを探しましたが、古いデータだけを持っているログ –