トップページ⇒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/
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');
コメントアウトしてるじゃないか
■ このスレッドは過去ログ倉庫に格納されています