php - JQUERY & php 发布错误 500(服务器内部错误)

标签 php jquery html mysql ajax

我在开发的网络应用程序中遇到错误,我确信这是非常基本的错误。

每当我在网络上运行这段代码时,chromium 调试器就会返回这个错误:

 POST http://my_ip/server_wrapper.php 500 (Internal Server Error) 
  1. PHP 服务器正常运行,phpinfo() 正确返回全部信息
  2. 网络服务器是 Apache。
  3. Iptables是完全开放的,我只是在局域网下使用。
  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

确保在安装存储库后编辑它们并将 enabled 设置为 0,这样您就可以根据需要有选择地使用它们。

yum --enablerepo=remi,epel install whatever

关于php - JQUERY & php 发布错误 500(服务器内部错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050164/

相关文章:

php - 将复选框数据从 php 存储到数据库

php - php 代码中的 open_basedir 限制生效错误

php - 使用 PHP 舍入不像 1.05 的 float

javascript - 通过javascript禁用表单组输入

javascript - Jquery 替换文本而不删除列表

javascript - 如何使用 flexbox 使所有标签的高度相同?

javascript - 单页应用有多个css文件,如何在文件中划分css?

php - 从逗号分隔列表生成一组 HTML 列表项? PHP

jquery - 如果 $.live ('click' ),如何区分处理程序中的左/右/双击?

javascript - jQuery .next() 和 .prev() 无法正常工作!