トップページphp
689コメント237KB

【PHP】PEAR Part3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/09/03(月) 12:15:51ID:l6O4U4Dh
■PEAR
http://pear.php.net/
■PEAR マニュアル 邦訳
http://pear.php.net/manual/ja/
■PEAR オフィシャル blog
http://blog.pear.php.net/

■前スレ
【PHP】PEAR Part2
http://pc11.2ch.net/test/read.cgi/php/1122899232/

■過去スレ
Pear
http://pc8.2ch.net/test/read.cgi/php/985665522/
0639フリモメンX2011/05/26(木) 16:02:05.51ID:uNpvmAph
助けてください
PEARでAUTHを使おうと思いインストールしましたが
Fatal error: require_once() [function.require]: Failed opening required 'Auth.php' (include_path='.:/php/includes; .:/usr/local/lib/php/PEAR') in /usr/local/apache2/htdocs/Auth_Practice.php on line 2
のように出てきて、使えません。

環境は、ubuntu9でPHP5です。

$pear list
では下のように出ますのでインストールできていると思います。
Package Version State
Archive_Tar 1.3.7 stable
Auth 1.6.4 stable
Auth_RADIUS 1.0.7 stable
Auth_SASL 1.0.4 stable
...
php.iniでinclude_pathを触る必要があるとも思うのですが、いい情報がありません
よろしくお願いします。
0640フリモメンX2011/05/26(木) 20:13:51.89ID:uNpvmAph
自己解決しました
php.iniに
include_path = Authフォルダーのあるパス
を入れたらできました。
ここは一ヶ月に投稿が一つですか
ずいぶん過疎ってますね。
0641nobodyさん2011/05/27(金) 23:13:01.89ID:???
>>636
確か去年の仕様変更でレビュー等はレスポンスされなくなったような・・・
https://affiliate.amazon.co.jp/gp/advertising/api/detail/faq.html
0642sage2011/06/03(金) 17:31:17.87ID:???
PearのMail使ってるんですが
auth = false
としているのにサーバーから
server does not support authentication
とエラーを返されます。
サーバーはローカルサーバーで認証なしでリレーするようにしてるんですが
なぜにサーバーからエラーがこういうエラーが帰ってくるのか分かりません。
auth = false以外にもやらないと認証しようとしてしまうんでしょうか?
0643nobodyさん2011/07/04(月) 23:58:50.25ID:uhW0inEa
PEAR::Authで困っています。Authはログインページをecho文で生成するよう
にあちこちで紹介されていて、例えば、典型的な方法、

$auth_login = new Auth("DB", $params,"loginFunction");// インスタンス生成

だと、loginFunction()でecho文を使ってログインフォームを作るのですが、
こうではなく、自分でHTMLでオリジナルのログインページを作ってからAuthのphpファイルを
呼び出して操作したい場合、インスタンス生成のときにどうやってPOST
されてきたユーザ名(普通だったら$POST_['username'とか])とパスワード($POST_['password'とか])を
Authに突っ込めば良いのでしょうか?

よろしくお願いします。
06446422011/07/05(火) 00:04:08.92ID:???
俺が先だ
0645nobodyさん2011/07/05(火) 00:45:17.08ID:hdfDwJP8
自己解決しました
ここは1ヶ月に一つの書き込みですね
0646nobodyさん2011/09/15(木) 00:51:33.26ID:XeQWDLmS
PHPを動作させる環境を作るのがうまくいかず困っています。
osはwindows 7です。

ttp://techblog.ecstudio.jp/tech-tips/amazon-api-ranking.html
のサイトを参考に、あまのランキングを取得したいと考えています。
xamppは無事インストールできました。

しかし pear install -a HTTP_Request2-alpha をプロンプトで入力すると
WARNING:channel "pear.php.net"has updated its protocols,use"channel-update pear.php.net" to update
とでてうまくいかないので指示通り
pear channel-update pear.php.netと入力しました。
0647nobodyさん2011/09/15(木) 00:54:41.43ID:XeQWDLmS
アップデートはうまくいったみたいなので
また pear install -a HTTP_Request2-alpha を入力すると
エラーメッセージは表示されなくなったのですが、
サイトのようにHTTP_Request2-0.5.1.tgzがダウンロードできません。
2-0.3.1.tgzはダウンロードできました。

そのため環境を構築できず困っています。
いろいろぐぐってみたのですができませんでした。
(pear upgrade PEAR installer などやっても変わらず)
よろしくお願いします。
06486462011/09/15(木) 14:09:56.27ID:QhHZ2M5t
すみません、自己解決しました!
0649nobodyさん2011/10/06(木) 00:58:20.15ID:???
保守
0650nobodyさん2011/11/02(水) 08:03:06.51ID:Ls6ISNyO
HTTP_Request2を使ってるんですが
サンプルを見るとHTTP_Request2_Exceptionをキャッチして$e->getMessage()などしています

この、getMessageで返されるメッセージの一覧はどこかにないですか?
探し方が悪いのかも知れないですがマニュアル見ても見つかりません
どなたかご意見お願いします
0651nobodyさん2011/11/07(月) 23:16:23.44ID:???
自分、ZF使ってるんでPEARって殆ど使わないんですが、これは便利ですげぇってのありますか?
0652nobodyさん2011/11/08(火) 02:44:54.05ID:???
>>651
pear
0653nobodyさん2011/12/12(月) 22:32:37.99ID:???
go-pear.phpでPEARのインストールを使用とすると

---------------------------------
An Exception Has Occurred
Unknown location: /pear/pear-core/branches/PEAR_1_4/PEAR.php
HTTP Response Status
404 Not Found
---------------------------------

となります。

解決策お願いします。
0654nobodyさん2011/12/14(水) 18:43:31.41ID:???
>>653
これ解決した?俺も同じ症状でインストールできなくて困ってるんだが
0655nobodyさん2011/12/16(金) 21:06:24.79ID:???
PDOのことってスレチかもしれんが頼むわ。
bindParamって何個も繰り返すのは普通なん?メソッドチェーンみたいな感じの楽なのは無いんかね?
0656nobodyさん2011/12/17(土) 01:00:24.42ID:???
>>655
mysqli用のメソッドだがReflectionMethod使ってるところあたりは参考になるかも
http://www.php.net/manual/ja/mysqli-stmt.bind-param.php#106402
0657nobodyさん2011/12/17(土) 04:00:18.25ID:???
>>656
サンクス。まさに俺がやりたいことを実行してる例だと思うんだけど素人のオイラには初めてみる書き方だ。
テーブル名の後にいきなりvalueでハテナ連発って当たり前なんですかね?
sssdってのがハテナを表しててその後に変数を連続して入力すると順々に代入されてく感じなんだろうか。
$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);
0658nobodyさん2011/12/19(月) 14:21:29.44ID:HuQ5bdvE
>>653
私もlolipopにgo-pear.php設置してみましたが、前はできたのにできなくなっていますね

Unknown location: /pear/pear-core/branches/PEAR_1_4/PEAR.php
HTTP Response Status
404 Not Found

この部分は116行目付近にある
'PEAR.php' => 'http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/PEAR.php?view=co',
この記載が影響していると思います。
このURLにアクセスすると同じメッセージが出るので

よくわかりませんがもうgo-pear.phpは使えないのかもしれません。

私は半分あきらめました。逆にgo-pear.phpのようなもので何かありましたら
どなたか教えてください

よろしくお願いします。
0659nobodyさん2011/12/22(木) 18:25:30.99ID:???
>>657
SQLインジェクション対策にはプリペアドステートメントが一般的だな
0660nobodyさん2012/01/13(金) 02:12:08.56ID:???
>>653
探したらあったよ
http://d.hatena.ne.jp/tdoi/20111228/1325054820
0661nobodyさん2012/03/25(日) 00:12:40.75ID:???
あああ
0662nobodyさん2012/05/03(木) 11:44:45.42ID:y2acIva3
最近インストールできた人いる?

>>660を試しても30%で止まる
Unknown location: /pear/packages/Archive_Tar/tags/Archive_Tar-1.3.7/Archive/Tar.php
分かる人いたら頼む
0663nobodyさん2012/05/03(木) 14:27:12.88ID:???
>>662
go-pear.phpの120行前後の
'Archive/Tar.php'
の行を
'Archive/Tar.php' => 'https://raw.github.com/pear/Archive_Tar/master/Archive/Tar.php',

にすれば行けた。
ダウンロード先がphp.netからgithub.comに順番に移行してるらしいよ。
0664nobodyさん2012/05/03(木) 16:26:21.15ID:???
>>663
インストール完了した!!
助かったよ、ほんとありがとう
06656632012/05/03(木) 23:26:01.88ID:???
>>664
出来たなら良かったw

でもなんで公式のをアップデートしてくれないのかな?
もう半年近くこの状態だと思うけど・・・
0666nobodyさん2012/05/17(木) 21:49:57.33ID:???
ピアー極めた
0667nobodyさん2012/06/07(木) 23:44:46.56ID:???
PEARとか全く使ってないな
最初勉強したcostが無駄だったような気もする
俺ZF使ってるから
自分はcake使った事が無いから分からないけど、cakeの場合はPEARがいいのかな?
併用とか
0668nobodyさん2012/07/23(月) 01:04:28.69ID:???
PEARのMDB2で、
つまりは

for (int $i=0; $i<10; $i++) {
//begin transaction
$mdb2->beginTransaction();

//create PreparedStatement
$sql = 'SELECT COUNT(id) from ? WHERE user = ? ORDER BY created_at DESC, id';
$types = array('text', 'text');
$sth = $mdb2->prepare($sql, $types);
$values = array($tablename[$i], $user_filter[]);

//do query
$res = $sth->execute($values);
$sth->free();

$res = $res->fetchRow();
$count = $res['count(id)'];

print "table :".$count."<br />\n";
}

ってな感じに、大量のテーブルに対してそれぞれ順番に同じクエリを実行していきたいんだけど、
それってどうにかして可能ですかね?

上みたいにクエリ内で from ? ってふうにテーブル名を?に置き換えるとエラー出ちゃって。
0669nobodyさん2012/07/29(日) 01:33:24.34ID:???
MDB2を使ってAというテーブルから取得した結果をBというテーブルにインサート仕様としているのですがうまくいきません。
取得はうまくいくのですが、Bテーブルにインサートする際にループが一回で抜けてしまい1っかいめのループの1000レコードしか登録できません。
なぜ1回目でループを抜けてしまうのか原因がわかりません。
ご教示お願いします。

以下、プログラム

※Aテーブルのレコード数30万件

// Aテーブルよりデータを取得(15万件ほど)
$result = $mdb2->query('select `product_id`, `product_title` from `tmp_mst_product` group by `product_id`');

// Bテーブルにインサート
$meta = array();
while ($row = $result->fetchRow()) {
$meta[] = "('".$row['product_id']."','".$row['product_title']."')";
if (count($meta) == 1000) {
$mdb2->exec('insert into `mst_product` (`product_id`, `product_title`) values ' . implode(',', $meta));
$meta = array();
}
}
0670nobodyさん2012/08/01(水) 03:03:52.25ID:???
だめだな。
単純に2chスレの技術レベルが落ちたのか過疎ってるのか知らないが諦めろ
0671nobodyさん2012/08/01(水) 21:03:52.65ID:???
metaが1000個でimplodeしたら、1000個の列なデータになっちゃわない?
execしようとしてるクエリーをdebugなprintして手で実行してみたら?
あと、mysql_error()も活用してみんしゃい
0672nobodyさん2012/11/03(土) 03:52:10.56ID:xCX3I/oo
すみません質問です。

pear入れた後、pearinfo.phpに
アクセスしたところ、
config画面が表示されているんですが
ページ最上部に

Warning: lstat() [function.lstat]:
Lstat failed for /var/cache/php-pear/
6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid
in /usr/share/pear/PEAR/REST.php on line 276

こんなエラーメッセージが表示されています。

解決するにはどうしたらいいのでしょうか?
0673nobodyさん2012/11/03(土) 04:48:54.69ID:???
>>672
俺はキャッシュ関連で妙なメッセージやエラーが出た場合はとりあえず
pair clear-cache
することにしてるよ。そうするとたいがい正常に戻る。

根本的解決ではないのでまたなったりするんだけど
キャッシュファイルのなんらかの理由でアクセス不能になったりって
多分pear側の理由であるんだよな。
>>672もキャッシュファイルの情報が取得できないというわけだから、同じだと思う
0674nobodyさん2012/11/05(月) 22:00:40.98ID:???
レス遅くなってすいません。

pear clear-cache

でエラーが修正されました。ありがとうございました。
0675nobodyさん2012/11/21(水) 01:18:37.34ID:???
php初心者です。(基本MDB2しか使ってません)
PEARも入れて試してるところで、セキュリティーとか移植性も利点なのですが
ソース的にはphpから直接MySqlを叩くほうがシンプルかなとも思ってしまいます。

PEARを使ったら全てのDBアクセスはPEARを通すべきなのか
ところどころでphp直が混じってもいいのか悩みどころです。

もう少しPEARに慣れるべきか、今回のアプリではPEARなしでも
いけるのかも(ユーザーが書き込む事はないので)と思っています。
PEARをお使いの方はどうお考えでしょうか?
0676nobodyさん2012/11/21(水) 01:34:16.31ID:???
>>675
PEARはない
FW使うか、スクラッチならPDO
0677nobodyさん2012/11/21(水) 03:06:03.07ID:???
>>676
やはりPEARはないですか、買った本に載ってたというだけなんです。
フレームワークも調べてみると習得に時間がかかりそうと書いてあるし
PDOもPEARよりシンプルで速そうで良さげです。
でも結局PEARやPDOは、将来MySQL以外の使用にも対応する事が
主要なところかと思うので、初心者はカリカリと基本SQLを書いてた
ほうが良いのかと思いました。もっと経験積んで選択したいところです。
0678nobodyさん2012/11/21(水) 07:14:53.94ID:???
>>677
PEAR使うにしてもDBの勉強しなくていいということではないからな
0679nobodyさん2012/12/12(水) 07:06:37.22ID:ioMlf9P5
てす
0680nobodyさん2012/12/13(木) 12:26:46.15ID:???
send($address, $header, $msg);

$addressが配列で仮に100件のメールアドレスを入れてる場合
存在しないアドレスが含まれていると
100件送信せずに途中で処理が止まってしまうものなのでしょうか?
0681nobodyさん2012/12/14(金) 09:31:20.01ID:???
存在しないアドレスだと分かるタイミングってどこか知ってるか?
06826802012/12/15(土) 00:45:23.84ID:???
>>681
ありがとうございます。
そうですよね。。

そこでちょっと試してみたのですが
メールアドレスの形式があきらかに間違っているアドレスが含まれてると1通も送られてこないんです。
これはsendの仕様でしょうか?
0683nobodyさん2012/12/18(火) 02:10:07.05ID:???
age
0684nobodyさん2012/12/18(火) 22:20:26.64ID:kofbZZy2
age
0685nobodyさん2013/01/31(木) 15:11:16.09ID:???
>>663でもダメでインストールができません。
Bootstrapping Installer...................
Bootstrapping PEAR5.php............(remote) ok
Bootstrapping PEAR.php............(remote) ok
Bootstrapping Archive/Tar.php............(remote) ok
Bootstrapping Console/Getopt.php............(remote) ok

Extracting installer..................
Downloading package: PEAR............. Unknown or missing compression type (gz)

で止まってしまいます。。何か方法はあるのでしょうか?
0686nobodyさん2013/10/24(木) 22:00:43.50ID:q6B1+7yg
pear.php.netの改ざん警告がgoogleで検出されてるんだがやられたのか?
0687nobodyさん2014/05/04(日) 17:50:13.53ID:???
【OS名】Debian
【PHPのバージョン】5.4.4
pecl_http 2.0.6 stable
propro 1.0.0 stable
raphf 1.0.4 stable

HTTP_Requestを使おうと思ってpecl_http をインストールしたけど
実行するとエラーが出ますたすけて


#!/usr/bin/php -q
<?
//require_once('HTTP/Request.php');
$a = new HttpRequest();
?>

$ ./a.php
PHP Fatal error: Class 'HttpRequest' not found in /tmp/a.php on line 4
06886872014/05/04(日) 17:57:52.62ID:RN97SqK4
どうしたらいいかわからない
0689nobodyさん2014/05/05(月) 23:58:01.94ID:???
//require_once('HTTP/Request.php');
コメントアウトしてるじゃないか
■ このスレッドは過去ログ倉庫に格納されています