Ошибка 5 в php скрипте после переноса сайта - PullRequest
0 голосов
/ 23 мая 2018

Я понятия не имею, что произошло, но я перенес наш существующий WordPress-сайт с большим количеством нестандартного php / curl / javascript / jquery-кода другому хостинг-провайдеру, так как нам требовалось больше скорости / пропускной способности.

Я сам переместил сайт, и все работает как надо, кроме пользовательского приложения, которое мы запрограммировали в нашей среде WordPress.

Когда мы пытаемся отправить форму, мы получаем следующую ошибку в нашей консоли:

POST https://verifiedcryptogroup.com/member-area/api/create_user.php 500 ()
send @ jquery.js?ver=1.12.4:4
ajax @ jquery.js?ver=1.12.4:4
(anonymous) @ (index):2599
dispatch @ jquery.js?ver=1.12.4:3
r.handle @ jquery.js?ver=1.12.4:3

Как вы можете видеть, мы получаем внутреннюю ошибку сервера (500), ничего более.

Это проблема хостинг-провайдера?

вот код ниже 'create_user.php'

<?php
include('functions.php');

// First we get all the information from the fields we need to pass on to 
swiftdill.
$type       = $_POST['type'];
$email      = $_POST['email'];
$first_name = $_POST['first_name'];
$last_name  = $_POST['last_name'];
$title      = $_POST['title'];
$middle_name    = $_POST['middle_name'];
$maiden_name    = $_POST['maiden_name'];
$dob            = $_POST['dob'];
$gender         = $_POST['gender'];
$mobile         = $_POST['mobile'];
$nationality    = $_POST['nationality'];
$birth_country  = $_POST['birth_country'];

$line       = $_POST['line'];
$extra_line = $_POST['extra_line'];
$city       = $_POST['city'];
$state_or_province = $_POST['state_or_province'];
$postal_code= $_POST['postal_code'];
$country    = $_POST['country'];

$wp_id      = $_POST['wp_id'];

if(isset($type) && $type != '') {

$fields = array(
    'type'          => $type,
    'email'         => $email,
    'first_name'    => $first_name,
    'last_name'     => $last_name,
    'title'         => $title,
    'middle_name'   => $middle_name,
    'maiden_name'   => $maiden_name,
    'dob'           => $dob,
    'gender'        => $gender,
    'mobile'        => $mobile,
    'nationality'   => $nationality,
    'birth_country' => $birth_country,
    'addresses'     => [ array(
                        'type'      => 'PRIMARY',
                        'line'      => $line,
                        'extra_line'=> $extra_line,
                        'city'      => $city,
                        'state_or_province' => $state_or_province,
                        'postal_code'=> $postal_code,
                        'country'   => $country
    )]
);
$fields = json_encode($fields);

// Get the access token and make sure it's not empty
$newToken = getAccessToken($api_url);

// Check if the token is empty. If so: give a message and stop the script.
if (empty($newToken)) {
    echo '{ "error": "The token is invalid!" }';
    return;
} else {
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $api_url . "customers",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $fields,
        CURLOPT_HTTPHEADER => array(
            "Authorization: Bearer $newToken",
            "Cache-Control: no-cache",
            "Content-Type: application/json",
            "Postman-Token: xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"
        )
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
        echo '{ "error": "cURL Error #:'  . $err . '" }';
    } else {
        $result = json_decode($response, true);
        if($result['id'] != '' && $result['email'] != '') {
            // De zojuist aangemaakte gebruiker wordt toegevoegd aan de eigen database
            $addCustomerId = addCustomerId($db, $wp_id, $result['id']);
            if($addCustomerId == 'success') {
                echo '{ "message": "success" }';
            } else {
                echo $response;
            }
        } else {
            echo $response;
        }
    }
}
}     else {
    echo '{ "error": "Type incorrect" }';
}

1 Ответ

0 голосов
/ 23 мая 2018

Исправление проблем с 500 внутренними ошибками на вашем собственном сайте. Внутренняя ошибка 500 на вашем собственном веб-сайте требует совершенно других действий.Как мы упоминали выше, большинство 500 ошибок - это ошибки на стороне сервера. Это означает, что, скорее всего, ваша проблема исправлена, если это ваш веб-сайт.но они являются наиболее распространенными:

Ошибка разрешений.В большинстве случаев ошибка 500 Internal Server Error связана с неправильным разрешением для одного или нескольких файлов или папок.В большинстве случаев виноваты неправильные права доступа к сценариям PHP и CGI.Обычно они должны быть установлены на 0755 (-rwxr-xr-x).Тайм-аут PHP.Если ваш сценарий подключается к внешним ресурсам и время ожидания этих ресурсов может привести к ошибке HTTP 500.Правила тайм-аута или лучшая обработка ошибок в вашем скрипте должны помочь, если это является причиной ошибки 500.Ошибка кодирования в .htaccess.Хотя это не так часто, убедитесь, что файл .htaccess вашего сайта правильно структурирован.Если вы работаете с WordPress, Joomla или другой системой управления контентом или системой CMS, обязательно поищите в их центрах поддержки более подробную информацию по устранению неполадок внутренней ошибки сервера 500.

Если вы не используете отключеннуюстандартный инструмент управления контентом, ваш веб-хостинг-провайдер, такой как InMotion, Dreamhost, 1 & 1 и т. д., вероятно, имеет около 500 справок по ошибкам, которые могут быть более специфичными для вашей ситуации.

Источник: https://www.lifewire.com/500-internal-server-error-explained-2622938

...