2012-01-19 13 views
0
$curl = curl_init(); 

    curl_setopt($curl, CURLOPT_URL, 'hello_world'); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 

    curl_setopt($curl, CURLOPT_CAINFO, getcwd().'/ca.pem'); 
    curl_setopt($curl, CURLOPT_SSLCERT, getcwd().'/client.pem'); 
    curl_setopt($curl, CURLOPT_SSLKEY, getcwd().'/key.pem'); 

    $post = array(
    // ... 
); 

    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, join('&', $post)); 

    $curl_result = curl_exec($curl); 
    $error = curl_error($curl); 

    var_dump($curl_result); 
    var_dump($error); 

    curl_close($curl); 

этого сценарий работа в консоли «PHP simple.php» , но этот скрипт не работает в браузереCurl работы в консоли, но не работают в браузере

булевых лжи

строку «NSS: закрытый ключ не найдено для сертификата: PEM Знак # 1: client.pem»(длина = 67)

пожалуйста, помогите

 
` 
    cd /path/to/simple.php; ls -la 
    -rwxrwxrwx 1 ujin apache 1.4K Jan 19 19:03 simple.php 
    -rw-r--r-- 1 ujin apache 2.6K Jan 19 15:58 ca.pem 
    -rw-r--r-- 1 ujin apache 1.6K Jan 19 15:59 client.pem 
    -rw-r--r-- 1 ujin apache 1.1K Jan 19 16:18 key.pem 
` 
+0

исправлена! отключить прокси и перезапустить httpd. Спасибо за помощь! – UJin

ответ

1

Ваш сценарий не может найти ca.pem и друзей. Некоторые вещи, чтобы попробовать

  • Введена в абсолютные пути
  • сделать права уверены, доступ исправны для процесса веб-сервера

http://at2.php.net/manual/en/function.curl-setopt.php говорит нам, что CURLOPT_CAINFO необходим абсолютный путь!

EDIT (после обсуждения с @UJin):

пожалуйста, попробуйте абсолютные пути:

$curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, 'hello_world'); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 

    $cwd=getcwd(); 

    //DEBUG 
    echo "cwd=$cwd\n"; 

    curl_setopt($curl, CURLOPT_CAINFO, "$cwd/ca.pem"); 
    curl_setopt($curl, CURLOPT_SSLCERT, "$cwd/client.pem"); 
    curl_setopt($curl, CURLOPT_SSLKEY, "$cwd/key.pem"); 
+0

Я поменял путь, но он не сработал – UJin

+0

Пожалуйста, уточните: с чего вы изменили (обновите свой OQ) и изменилась ли ошибка? –

+0

изменил путь абсолютным. права, предоставленные apache. – UJin

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