以下是我如何进行REST API调用,我的网址位于$url
下方。我在WAMP服务器上运行它,基本上我保存了这个php(test.php)文件
www
文件夹,当我执行网址(localhost//test.php)
时,出现500内部服务器错误。我基本上想要运行URL($url
)
运行PHP脚本。我该如何克服这个问题?
<?php
$method = "POST";
$accessKey = "myaccesskey";
$secretKey = "mysecretkey";
date_default_timezone_set("UTC");
$timeString = date("D, d M Y H:m:s", time()) . ' GMT';
$url = "http://myurl.com";
$signature = GenerateSignature($secretKey, $method, $timeString);
$authorization = $accessKey . ":" . $signature;
$ListDEsc = "test new description";
$data = "ListDEsc=" . $ListDEsc;
var_dump(CallAPI($method, $url, $timeString, $authorization, $data));
function CallAPI($method, $url, $timeString, $authorization, $data = false)
{
$curl = curl_init();
switch ($method)
{
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
$accept = 'application/json';
an so on...
following post在开始时看起来很有希望,但他们的目标与我的不同。
错误日志:
在C:\ wamp \ logs
中我看到两个新创建的文件apache_error
和php_error
。
在php_error
内我有以下内容:
[22-Jul-2014 16:40:53 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll' - The specified module could not be found.
in Unknown on line 0
在apache_error
内我有以下内容:
[Tue Jul 22 09:40:44.898375 2014] [mpm_winnt:notice] [pid 7672:tid 404] AH00455: Apache/2.4.9 (Win32) PHP/5.5.12 configured -- resuming normal operations
[Tue Jul 22 09:40:44.959381 2014] [mpm_winnt:notice] [pid 7672:tid 404] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:13:13
[Tue Jul 22 09:40:44.959381 2014] [core:notice] [pid 7672:tid 404] AH00094: Command line: 'c:\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -d C:/wamp/bin/apache/apache2.4.9'
[Tue Jul 22 09:40:45.031389 2014] [mpm_winnt:notice] [pid 7672:tid 404] AH00418: Parent: Created child process 7148
[Tue Jul 22 09:40:54.412327 2014] [mpm_winnt:notice] [pid 7148:tid 320] AH00354: Child: Starting 64 worker threads.
浏览器上的错误如下:
string '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>500 - Internal server error.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7'... (length=2007)
测试完成以查看Curl的工作
运行以下脚本:
<?php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://www.google.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)){
print "Nothing returned from url.<p>";
}
else{
print $buffer;
}
?>
Source of above Script: 我成功导向了google.com网页。
答案 0 :(得分:0)
要确保您在Apache / bin文件夹中生成了所有正确的SYMLINK,请执行以下操作。
使用wampmanager菜单单击Apache版本号,强制Wampmanager重做SYMLINK生成。
cURL使用libeay32.dll和ssleay32.dll,并且可能还没有创建这两个库的SYMLINKS。
wampmanager -> Apache -> Version -> Apache -> 2.4.9