2015-09-28 2 views
0

Здравствуйте, у меня проблема, я получаю ошибку внутреннего внутреннего сервера 500, когда я пытаюсь выполнить завиток на моем сервере. Я связался с поддержкой, и они утверждают, что это мой файл .htaccess, и они ничего не могут с этим поделать.500 ошибка внутреннего сервера при попытке выполнить CURL

Это мой код:

$api_key = 'f7cb125a449f4f908931f360ac33b52a'; 
$server_ip = '162.13.170.20'; 
$port = '5000'; 
$url = "https://".$server_ip.":".$port."/api/fusion/tp/".$api_key; 

// Get cURL resource 
$curl = curl_init(); 
// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => $url, 
    CURLOPT_USERAGENT => 'myTicketGH', 
    CURLOPT_POST => true, 
    CURLOPT_POSTFIELDS => array(
     'kuwaita' => 'malipo', 
     'amount' => $calculated_total_cost, 
     'mno' => $network, 
     'msisdn' => $phone 
    ) 
)); 
// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 

return [ 
    'response' => $resp 
]; 

И это мой файл .htaccess:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    Options +FollowSymLinks 
    RewriteEngine on 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule . index.php [L] 

    RewriteEngine On 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

Есть Laravel способ использования CURL? Потому что я не могу понять, как может быть проблема с моим файлом .htaccess, но мое приложение все еще работает.

Я связался со службой поддержки, по-видимому, это мой error_log:

[Tue Sep 29 09:31:20 2015] [warn] [client 69.195.125.1] mod_fcgid: read data timeout in 40 seconds 
[Tue Sep 29 09:31:20 2015] [error] [client 69.195.125.1] Premature end of script headers: index.php 
[Tue Sep 29 09:31:20 2015] [error] [client 69.195.125.1] File does not exist: /home/mytickf1/public_html/500.shtml 
[Tue Sep 29 09:31:26 2015] [warn] mod_fcgid: process 14879 graceful kill fail, sending SIGKILL 

Я должен также добавить, что мой сервер использует выделенный IP-адрес.

+0

Что говорит ваш журнал ошибок? –

+0

Невозможно увидеть связанные ошибки на моей странице журнала ошибок в моей cpanel. – user3718908

+0

Попробуйте включить Curl Verbose 'curl_setopt ($ curlhandle, CURLOPT_VERBOSE, true);' он выводит что-то значимое? –

ответ

1

Вы должны обрабатывать https с помощью завитка. Самый простой вариант, чтобы отключить его с

CURLOPT_SSL_VERIFYPEER => 0 

Потому что, если вы не сделаете это, вы получите пустой результат. Ошибка 500 вызывается, когда вы хотите работать с результатом, потому что она пуста.

+0

Пробовал это тоже, не смог заставить его работать, тот же ответ, – user3718908

+0

Я протестировал ваш код с помощью googles ip, и мое решение сработало с вашим кодом. – mimo

+0

Так может ли это быть сервер, на который я отправляю, а не мой код? – user3718908

-2

Вы используете протокол HTTPS в вашем локон URL

$url = "https://".$server_ip.":".$port."/api/fusion/tp/".$api_key; 

Должен работать с протоколом HTTP.

+0

Я не понимаю, вы говорите, что CURL не будет работать с https? – user3718908

+0

Нет. Я просто подозревал, что https может быть преступником. Вы также настраиваете заголовок авторизации? Пожалуйста, поделитесь журналами ошибок – Azhar

+0

Я проверил журнал ошибок, там ничего не говорится об этой ошибке. – user3718908

Смежные вопросы