0

Windows マシンで .php スクリプトを実行しようとしています。最初にphp 5.4.6の古いバージョンのphpを試し、php.ini(phpフォルダーにあります)でphp_curlを有効にし、cmd(c:\ php\php.exe test.php)を使用してスクリプトを実行した後(これを取得しましたエラー:

php startup:unable to load dynamic library c:php\php_curl.dll' - The specified module could not be found

そのため、c:/php の名前を c:/phpOld/ に変更し、別のフォルダー (c:/php) を作成して、新しいバージョンの php ファイルをそこに解凍しました (php-5.6.17-nts-Win32-VC11-x86.zip) . php.ini-development と php.ini-productionという php ファイルと同じフォルダーに 2 つの php.ini ファイルが見つかりました。これらのファイルの両方で php_curl を有効にし (;extension=php_curl.dll を extension=php_curl.dll に変更)、スクリプトを実行した後もこのエラーが発生します:

Fatal error: Call to undefined function curl_init() in

ext フォルダーに行って確認したところ、php_curl.dll ファイルがそこにあることがわかりました。php curl が実行されず、上記のエラーが表示される理由を誰か教えてもらえますか?よろしくお願いします。

編集:このスクリプトは Web サーバー上で正しく実行されますが、ローカルで実行すると空の結果が返されます! この方法でcurl postリクエストを行うことに制限はありますか?

$data = array(
    'a'      => 'test1',
    'b'    => 'test2',

);


$url = "https://api.somewebsite.com/auth.aspx";    
$content = json_encode($data);

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

$response = json_decode($json_response, true);
echo "full Response:".$json_response;
4

0 に答える 0