
さくらのレンタルサーバーにPEARのHTTP_Requestをインストールし、
http://pear.php.net/manual/ja/package.http.http- …
にあった、「yahoo.com の内容を取得し、それを表示する」という
以下のスクリプトを実行したのですが、何も表示されません。
test_yahoo.php
----------------------------------------------------
<?php
require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://www.yahoo.co.jp/");
if (!PEAR::isError($req->sendRequest())) {
echo $req->getResponseBody();
}
?>
----------------------------------------------------
状態は以下の通りです。
/home/user/.cshrc
set path = (~/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
/home/user/www/php.ini
include_path = ".:/php/includes:/home/user/pear/PEAR"
%pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.7 stable
Console_Getopt 1.3.0 stable
HTTP_Request 1.4.4 stable
Mail_Mime 1.8.1 stable
Net_Socket 1.0.10 stable
Net_URL 1.0.15 stable
PEAR 1.9.1 stable
Structures_Graph 1.0.4 stable
XML_Parser 1.3.4 stable
XML_Util 1.2.1 stable
%
ブラウザからhttp://user.sakura.ne.jp/の
/home/user/www/test_yahoo.php(属性:755)に
アクセスしていますが、何も表示されません。
原因、または調べ方を教えてください。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
さくらインターネットの仕様は解らないのですが、
> /home/user/www/php.ini
> include_path = ".:/php/includes:/home/user/pear/PEAR"
とか
> ブラウザからhttp://user.sakura.ne.jp/の
> /home/user/www/test_yahoo.php(属性:755)に
> アクセスしていますが、何も表示されません。
などの作業をされているところを見ると、CGIとして動作している?
PEARがインストールされたのは /home/user/pear/PEAR ここ?
% ls /home/user/pear/PEAR して
HTTP とか HTTP.phpは存在している?
実は /home/user/pear を php.ini に追加するんだったりして。
#PEAR は PEAR という名前のライブラリがあるので、ちょっとそんな気がしてきた。
でも、インストールがうまくいっていないと
require_once の行でエラーになるはずですので、画面かerror_log にその旨表示されるはずですね。
#エラー表示が抑制されているのかしらん?
以下のソースを試してみて、「PEARライブラリの読み込みに失敗しました」が表示された場合は、PEARがインストールされた先と include_path の参照先が一致しているか確認してみてください。
<?php
//set_include_path( get_include_path() .PATH_SEPARATOR .realpath( '../lib/PEAR' ) );
if( FALSE === @include_once('HTTP/Request.php') ) {
echo 'PEARライブラリの読み込みに失敗しました<br/>';
echo 'include_path の値を確認してください。<br/>';
echo 'display_errors も確認するとしあわせになるかも<hr/>';
phpinfo();
die;
}
else {
PEAR::setErrorHandling( PEAR_ERROR_PRINT );
$req =& new HTTP_Request("http://www.yahoo.co.jp/");
if( !PEAR::isError( $req->sendRequest() ) ) {
echo $req->getResponseBody();
}
else {
echo '<pre>';
var_dump( $req );
echo '</pre>';
}
}
No.1
- 回答日時:
> if (!PEAR::isError($req->sendRequest())) {
エラーでなかったら表示するので、エラーなら
>}
>?>
何も表示しないですね。。。
とりあえず。エラーハンドリングを入れてみてはどうでしょう。
<?php
require_once "HTTP/Request.php";
PEAR::setErrorHandling( PEAR_ERROR_PRINT );
$req =& new HTTP_Request("http://www.yahoo.co.jp/");
if( !PEAR::isError( $req->sendRequest() ) ) {
echo $req->getResponseBody();
}
遅くなりましたが、ご回答ありがとうございます。
やってみたのですが、やはり何も表示されません。
PEARの設定がマズイのでしょうか?
試しにxamppを入れて同じスクリプトを実行したら、簡単に表示されました。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのタイムアウトについて
-
「include()」関数の使い方につ...
-
パスワード認証後次のページに...
-
PHPのif文でその処理を途中で抜...
-
Subversionのリポジトリの削除
-
*.php、*.php3、*.phtmlの違い
-
FTPコマンドでディレクトリごと...
-
Cronで同じ処理を複数同時に実...
-
.phpと.incファイルの違いはな...
-
バッチを用いたフォルダの自動移動
-
ボタンのクリック数を合計保存...
-
visualstudioでc#のdllができない
-
PHPで画像アップロード時にサイ...
-
CakePHPのファイルの所有者の権...
-
error_reporting(0);にも関わら...
-
zip圧縮の種類について
-
「@$変数」の「@の意味は?」
-
ftpでアップロードが出来ない
-
rmdirでフォルダが消せません
-
Apache 2.4でphp-5.3を使いたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「include()」関数の使い方につ...
-
□に、+、-、×、÷を入れてくだ...
-
WordPressのナビゲーションの「...
-
wordpress ホームをクリックす...
-
PHPでの文字列の扱い
-
文字列(配列)を変数として使...
-
index.php から外部関数に飛び...
-
BASIC認証のユーザー名をPHPで...
-
特定の値をPOST送信で他のサー...
-
パスワード認証後次のページに...
-
PEAR XML_Query2XMLを利用したP...
-
POSTされた時に入力されている...
-
DBから取得した内容を横表示
-
PHPのタイムアウトについて
-
Parse error: parse error, une...
-
phpのswitch文のcaseで
-
チェックボックスの値が受け取...
-
PEARのHTTP_Requestをインストール
-
PHP MySql ページング
-
はじめて質問させていただきます!
おすすめ情報