PHP-код не работает на сервере Ubuntu

0

Я написал код в PHP, чтобы вставить некоторую информацию в мою базу данных. Забавно, что код работает на моем ПК с Windows на XAMPP (PHP 5.5.19), но на сервере 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");
}
?>
  • 0
    <? Php phpinfo (); ?> отобразить информацию о php и mysql на сервере LAMP?
Теги:
server

2 ответа

0

Предоставляемая вами информация недостаточна для предоставления решения. Прежде всего, следуйте нижеприведенным инструкциям и включите отчет об ошибках в файле php ini, после чего вы получите вопрос, почему вы ничего не видите.

  1. Откройте файл PHP.ini, расположенный по адресу /etc/php5/apache2/php.ini, используя ваш любимый редактор.

  2. Найдите и обновите следующие переменные: error_reporting = E_ALL. display_errors = Вкл.

Теперь запустите свою страницу, вы получите сообщение об ошибке, в чем проблема.

0

Я просто хочу знать, что содержит файл. Если он содержит

<? instead of <?php

это может быть проблемой, поскольку

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

Там могут быть ваши проблемы. Я не уверен на 100%, но это сработало для меня. Для более конкретной ошибки вместо белой страницы проверьте ini_set; С уважением;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню