電子書籍の厳選無料作品が豊富!

メールを配信するCGIがあります。
フォームで登録するようになっているのですが、フォームで登録した際に、御礼のメールを配信したいと思って下記のようなphpを作っています。

フォームから送信されたデータを受け取り、送信者にメールを送った後、別のCGI(perl)にPOST送信するphpを作っています。

ローカルに作ったphp環境では動いたのですが、サーバーにアップロードすると下記のエラーが出て動きませんでした。

エラーメッセージ
Warning: main(HTTP/Request.php): failed to open stream: No such file or directory in /home/*****/public_html/cgi/********/mail.php on line 34

メールを送信する部分は特に問題なく動いているみたいで問題はほかのcgiにPOST送信する部分にあるみたいです。初心者なのであるHPに掲載されていたコードをまる写しして必要な部分だけ変更しただけで、あまり意味は分からないままです。

/*POST送信*/

require_once "HTTP/Request.php";

$req =& new HTTP_Request("http://www.***.jp/******/cgi/**********/cgi-bin/ …
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData("mail", "$mail");
$req->addPostData("md", "*****");
$req->addPostData("id", "**************");


if (!PEAR::isError($req->sendRequest())) {
$response1 = $req->getResponseBody();
} else {
$response1 = "";
}

エラーメッセージにある34行目というのは
require_once "HTTP/Request.php";
なのですが、どこに問題があるのでしょうか?

A 回答 (2件)

単純にエラーメッセージを見て考えると、指定されたファイルが見つからないということだと思います。


http://www.***.jp/******/cgi/**********/cgi-bin/ …
というURLは正しいですか?
ブラウザでアドレスをたたくと表示されますか?
    • good
    • 0

ローカルで動いていたということから、サーバ側でPEAR が使えないのかもしれませんね。


こういう場合は、手動インストールです。

HTTP_Request と Net_URL を下記のサイトで入手し、
http://pear.php.net/package/HTTP_Request
http://pear.php.net/package/Net_URL

/
任意の場所(ここでは絶対パス /var/www/hogehoge/ とします)に適当なディレクトリ(ここではincludeとします)を作成し、下のようなファイル構成になるようにファイルを置く。

include/HTTP/Request.php
include/HTTP/Request/Listener.php
include/Net/URL.php

require_once "HTTP/Request.php"; より前に下記を追加

ini_set("include_path", '/var/www/hogehoge/include/' . PATH_SEPARATOR . ini_get("include_path"));


でいけるかもしれません。

参考URL:http://peardoc.xole.net/installation.manually.html
    • good
    • 0

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