プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
php5で、soap関数を使って、amazonの検索サービスを使ったサイトを作ろうとしています。
コードは以下です。
<html>
<body>
<form method="POST" action="<?= $_SERVER['PHP_SELF']?>">
キーワード:
<input type="text" name="keywd" size="30" maxlength="255" value="<?php print($_POST['keywd']);?>"/>
<input type="submit" value="検索"/>
</form>
<?php
include ("nusoap/lib/nusoap.php");
if ($_POST['keywd'] != "") {
$keywd = mb_convert_encoding(htmlspecialchars($_POST['keywd']),"SJIS","auto");
$objSoap = new SoapClient("http://soap.amazon.co.jp/schemas3/AmazonWebServi …
$param = array('keywd' => $keywd, 'mode' => 'books-jp', 'locale' => 'jp', 'sort' => '+saleserank', 'type' => 'lite', 'page' => 1, 'tag' => 'XXXXXXXX', 'devtag' => 'XXXXXXXXXXXXXX');
$result = $objSoap -> KeywordSearchRequest($param);
mb_convert_virables("SJIS","auto",$result);
echo ($result -> TotalResults."件がヒットしました。");
echo ("<table border='1'>");
echo ("<th>No.</th><th>書名</th><th>著者</th><th>出版社</th>");
echo ("<th>価格</th><th>刊行日</th>");
foreach ($result -> Details as $item) {
?>
<tr>
  <td><?= ++$i ?></td>
  <td><a href="<?= ($item -> Url)?>"><?= ($item -> ProductName) ?></a></td>
  <td><?= implode(",",$item -> Authors) ?></td>
  <td><?= $item -> Manufacturer ?></td>
  <td><?= $item -> ListPrice ?></td>
</tr>
<?php
  }
 }
?>
</table>
</body>
</html>

実行すると、HTTP 500 - 内部サーバー エラー となってしまい、
PHPソースのエラーすら出てこない状態です。
soapclientのところでエラーとなっているようなのですが、
どこをどう直せばいいのか検討がつきません。
どなたか分かる方、アドバイスお願いします。
ちなみに、php.iniのextensions=php_soap.dllのコメントははずしてあります。
宜しくお願いします。

A 回答 (1件)

Windowsで500エラーが出るんですか?


珍しい気がします。

ini_set("error_log", "./error_log");
ini_set("display_errors", 0);
error_reporting(E_ALL);
include_once("nusoap/lib/nusoap.php");

こんな風にすると、error_logに問題の内容が書かれたりしませんか?

この回答への補足

アドバイスありがとうございます。
error_logに以下のエラーが吐き出されました。
(1)PHP Warning: SoapClient::SoapClient() [<a href='function.SoapClient-SoapClient'>function.SoapClient-SoapClient</a>]: php_network_getaddresses: getaddrinfo failed: そのようなホストは不明です。
(2)PHP Warning: SoapClient::SoapClient(http://soap.amazon.co.jp/schemas3/AmazonWebServi … [<a href='function.SoapClient-SoapClient'>function.SoapClient-SoapClient</a>]: failed to open stream: No such file or directory in C:\Program Files\...
(3) PHP Warning: SoapClient::SoapClient() [<a href='function.SoapClient-SoapClient'>function.SoapClient-SoapClient</a>]: I/O warning : failed to load external entity &quot;http://soap.amazon.co.jp/schemas3/AmazonWebServi …
その他もエラーが出ているのですが、すべてこのコードのところです。
$objSoap = new SoapClient("​http://soap.amazon.co.jp/schemas3/AmazonWebServi …

(1)はプロキシの設定かとも思ったのですが、プロキシの設定はこのコードの後ですよね?

エラーの内容を見ても、何が悪いのかよくわかりませんでした。
もしお分かりになるようでしたら、またアドバイスを宜しくお願いします。

補足日時:2008/03/25 08:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!