簡體   English   中英

JQUERY和PHP發布錯誤500(服務器內部錯誤)

[英]JQUERY & php post error 500 (server internal error)

我在開發的Web應用程序中遇到錯誤,我確信這是非常基本的錯誤。

每當我在網上運行此代碼時,chrome調試器都會向我返回此錯誤:

 POST http://my_ip/server_wrapper.php 500 (Internal Server Error) 
  1. PHP服務器正常運行,phpinfo()正確返回全部信息
  2. Web服務器是Apache。
  3. iptables已完全打開,而我只是在LAN下使用它。
  4. Web根目錄中所有文件的許可為755。

這是JQUERY,js文件片段”

this.post    = function () {
 $.post ("server_wrapper.php",
  {
   _id:          this.id,
   _question:    this.question,
   _type:        "none"
  },
  function (data, status) {
   alert ("DATA: " + data + " status: " + status);
  }
 );
}

這是php文件:

<?php

if (isset($_POST["_question"]) && isset($_POST["_type"]) && isset($_POST["_id"])) {

$question = $_POST["_question"];
$type     = $_POST["_type"];
$id       = $_POST["_id"];

$con      = mysqli_connect ("localhost", "user", "pass", "database");

if (mysqli_connect_errno($con)) {
    echo "Failed to connecto to db";

} else {
    mysqli_query ($con, "INSERT INTO questions (id, question, type) VALUES ('$id','$question','$type')");
}

mysqli_close ($con);
 }
?>

編輯

這是一遍又一遍的日志返回:

PHP Fatal error:  Call to undefined function mysqli_connect() in /var/www/server_wrapper.php

要在頁面上顯示錯誤:

<?php
    ini_set('display_errors', '1');
    ini_set('error_reporting', E_ALL);
?>

首先,將在頁面本身上啟用錯誤顯示,而不是生成500錯誤。

第二將確保報告所有錯誤。 這包括通知。

建議:編寫甚至不會發出通知的代碼。

查找PHP錯誤日志文件:

grep error_log /etc/php.ini
grep ^error_log /etc/php.ini

要在RedHat系列服務器上安裝MySQL:

yum install mysql.x86_64
yum install mysql mysql-server
chkconfig --level 2345 mysqld on
service mysqld start
mysqladmin -u root password somepassword

如果您想訪問最新的PHP版本,建議您使用以下存儲庫。

wget http://mirrors.coreix.net/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安裝:

rpm -Uvh remi-release-*.rpm epel-release-*.rpm
/bin/rm epel-release-*.noarch.rpm remi-release-*.rpm
perl -pi -e 's/enabled=0/enabled=1/g' /etc/yum.repos.d/remi.repo
yum update (optional - not recommended unless you know what you are doing)
yum install yum-plugin-priorities

確保安裝回購協議后,將其編輯並設置為0,以使您只能根據需要選擇性地使用它們。

yum --enablerepo=remi,epel install whatever

似乎未安裝或啟用mysqli擴展名。 檢查您的php.ini中是否存在extension=mysqli.so這行,否則啟用它或使用sudo apt-get install php5-mysql安裝它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM