PHP 代码在 Ubuntu 服务器中不起作用


PHP code doesn't work in Ubuntu server

我用PHP编写了一些代码,将一些信息插入我的数据库中。有趣的是,该代码确实可以在XAMPP(PHP 5.5.19)上的Windows PC上运行,但是在Ubuntu服务器(lamp-server,PHP 5.5.9)上,我在运行时会出现一个空白页。我认为这与渗透无关,因为(一段时间后)我出于绝望将其设置为 CHMOD 777。我已经用谷歌搜索了几个小时(也许是错误的术语,我不知道为什么它不起作用),但我似乎找不到答案。

<?php 
//includes
include 'connect.php';
include 'salt.php';
if(isset($_POST['registerusername']) && isset($_POST['registerpassword']) && isset($_POST['registeremail'])){
    //escape strings
    $username = mysqli_real_escape_string($con, $_POST['registerusername']);
    $password = mysqli_real_escape_string($con, $_POST['registerpassword']);
    $email = mysqli_real_escape_string($con, $_POST['registeremail']);
    //check mail
    $query = mysqli_query($con, "SELECT email FROM users WHERE email = '$email'")or die(mysqli_error($con));
    if(mysqli_num_rows($query) == 0){
        $num = 1;
        //generate random number
        while($num){
            $id = mt_rand(1000000000, 9999999999);
            $query = mysqli_query($con, "SELECT ID FROM users WHERE ID = '$id'")or die(mysqli_error($con));
            $num = mysqli_num_rows($query);
            echo $num;
        }
        //hash and salt password
        $password = salt($username, $password, $email, date("YmD HiS"));
        //insert in database
        mysqli_query($con, "INSERT INTO users(username, password, registrationdate, email, active, ID) VALUES('$username', '$password',NOW(), '$email', '1', '$id')") or die(mysqli_error($con));
    }
    else{
        //Mail already exist in database
        header("Location: login.php?emailfail");
        die('Nomail');
    }
}
else{
    //fail or nothing inserted in form
    header("Location: login.php?fail");
}
?>

我只想知道文件包含的内容。如果它确实包含

<? instead of <?php

这可能是一个问题,与

http://php.net/manual/fr/ini.core.php#ini.short-open-tag

可能有你的问题。我不是100%确定,但它确实对我有用。对于更具体的错误,而不是白页,请选中ini_set;问候;

您提供的信息不足以提供解决方案,首先请按照以下步骤操作并在php ini文件中启用错误报告,然后您将遇到问题,为什么您无法看到任何内容。

  1. 使用您喜欢的编辑器打开位于"/etc/php5/apache2/php.ini"的 PHP.ini 文件。

  2. 查找并更新以下变量:error_reporting = E_ALL。 display_errors = 开。

现在运行您的页面,您将获得错误报告是什么问题。