2

私の問題は、コマンド ラインで PHP の cURL を実行できないことです。私のコードは次のようなものです:

public function updateSolrProfilData($arrData)
{
  $solrClientOptionsCommit = $this->solrClientOptionsYazProfilCommit;

  $urlCommit = "http://" . $solrClientOptionsCommit['hostname'] . ":" . $solrClientOptionsCommit['port'] . "/" . $solrClientOptionsCommit['path'] . "/update?stream.body=%3Ccommit/%3E -H \"Content-Type: text/xml\" --data-binary '<add><doc>";

  foreach ($arrData as $firmaField => $firmaValue)
  {
    if ( ! is_array($firmaValue))
    {
      $urlCommit = $urlCommit . '<field name="' . $firmaField . '">' . $firmaValue . '</field>';
    }
    else
    {
      foreach ($firmaValue as $firmaField2 => $firmaValue2)
      {
        if ('' != $firmaValue2)
        {
          $urlCommit = $urlCommit . '<field name="' . $firmaField . '">' . $firmaValue2 . "</field>";
        }
      }
    }
  }

  $urlCommit .= "</doc></add>'";

  $urlCommit = htmlspecialchars($urlCommit);

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_POST, false);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_URL, $urlCommit);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  $data = curl_exec($ch);
  curl_close($ch);
}

コマンド ラインで実行すると機能しますが、cURL や PHP の shell_exec 関数を使用すると機能しません。それの何が問題なのですか?

4

0 に答える 0