1 :
nobodyさん :
2005/08/01(月) 21:27:12 ID:pG+mahP3
乙
4.4.0 対応だけでも充分でございますw あと #3865「ルール required は "0" だけ入れたフィールドを valid とみなすべき」の FIX は地味に嬉しい
スレ違いと誤字の後で恥ずかしいのですが、質問があります。 配布スプリクトでPerl::Authを使うのでインストールしたら Fatal error: Cannot redeclare class auth in /web/....../lib/pear/Auth/Auth.php on line ○○ というエラーが出ました。 過去ログとか読むと、authが二重宣言しているためにエラーが出ているところまで分かったのですが、 これの回避方法とかあるのでしょうか? 該当部分(auth)を別な名前に書き換えるのも、色々な場所で使われていて大変そうですし、 他の何と重複しているのか分からないのですが…。
8 :
nobodyさん :2005/08/11(木) 14:08:00 ID:hshM5Tms
Perlだからじゃないかな
9 :
7 :2005/08/11(木) 14:39:01 ID:???
あ。まだ誤字が…。Pear::Authです…。
>>7 どれどれおじさんが見てあげよう・・・と思ったが、
Auth 1.2.3 入れたけど2重定義されてなさそうなんだけど?
11 :
nobodyさん :2005/08/12(金) 17:01:20 ID:+KZUiI46
HTML_QuickFormって、 入力確認画面(freeeze時)に自動でタグをエスケープしてしまうのですが、 HTMLタグを許可することって出来ないのでしょうか?
>>11 通常は無理
自作のelementでgetFrozenHtml()をオーバーライドしたらいいんじゃない?
13 :
11 :2005/08/12(金) 18:34:03 ID:???
>>12 ありがとん、やっぱ無理なのね
レンダラーにSmartyを使ってたので、強引に置換えて解決してみました。
{$form.hoge.html|replace:'<':'<'|replace:'>':'>'|replace:'&':'&'|replace:'"e;':'"'}
動作遅そう・・・
14 :
11 :2005/08/12(金) 18:35:54 ID:???
>>13 うほ、エンティティ直書きだから意味わかんないね
置換え前の文字はそれぞれ次のとおりです
< => &lt;
> => &gt;
& => &amp;
HTML_Ajaxなんてのが出てる
>>15 漏れもちょっと気になったんだけど、ソース流し読みしてめんどくさくなって放置してた
試してみたなら感想plz
PEAR AJAXはどうよ!?
>>17 使ってみた。
ちょっとした事なら楽できそうだよ。
てか、自分で試してみなよw
Net_UserAgent_Mobile 0.25.0 up
>>19 いつもお知らせありがとう。助かってます。
ひょっとして中の人かな?
FreeBSDユーザにお尋ねします。 PortsのPearと純粋Pear、どっち使ってますか?
ノ 純正 pear コマンドでインストールしてま
>21 pearコマンド。redhat系でもだけど、pearはpearコマンドに任せてしまった方が楽な気がするです。
こんにちは pearモジュールで「値に改行コードを含む」CSVを扱うモジュールとかありますか? あれば教えてください。 もし、pearでなくてもPHPで上記を扱えればいいので、良い方法があれば教えてください。
fgetcsv
File_CSV は今はマルチラインに対応していたようなー File にバンドルのね
File 1.2.1 や File_Find 1.0.0 を pear install/upgrade しようとすると XML error: Undeclared entity warning at line xxx (xxx: package.xmlの最終行) ってエラー出ません? package.xmlを見てみたけど、特に問題があるようにも思えないし... 環境は Mac OS X 10.4/PHP 5.0.4, Mac OS X 10.4/PHP 4.4.0, FreeBSD 5.4/PHP 5.0.4 です。
csvってフォーマットとして糞だよね?タブ区切りにしろよ。
特定文字を区切りにして複数のテキストを構造的に格納する,って点で, CSV と TSV(タブ区切り) がどれくらい違うのかさっぱり理解できない カンマとタブの出現頻度だけの違いに思えるし, それはデータの問題であってフォーマットが糞とかって話じゃないっしょ. ただの独り言じゃないならその理由を聞かせてほしいもんだ.
csvもtsvもクソだよね。RDBMSにしろよ。
RDBMSクソだよね。XMLにしろよ。 → 教訓: 臨機応変 適材適所 ぜんぜん PEAR と関係ないなw
XMLクソだよね。OODBにしろよ。
OODBクソだよね。CSVにしろよ。
CSVクソだ。 せめてTSV。
1ループしたところで次の議題に移ります
PEARクソだよね。PECLにしろよ。
CSVは、フィールド内にカンマあるときの処理をどうするかで悩まないといけない。 自分だけで使うならいいが、他のアプリで使う時に互換性で問題が出る。 バックスラッシュでエスケープするか、2個並べるか。 こんな単純なフォーマットなのに、統一できてない。だから、うんこ。
>>37 あなたはTSVを扱うときフィールド内にタブがある時の処理で全く悩まないんですね・・・
悩まないよ。
>>37 Excel の CSV 形式("で囲う&"単体は "" にする方式)がデファクト標準じゃないかのー?
\ でエスケープした CSV なんて作って客に渡したら
たちどころに「エクセルで読めないんですけど?」とか言われるしなー……
まぁそういう客には最近は HTML ファイルに .xls って名前付けて渡すことにしてるけどねー
>>41 近日発売 予約可 らしい
もし中の人いたら詳細きぼんぬ
pearの本か……こんなの売れるのか?
本が手に入ったころには、仕様が変わってる。
PEAR本体をインストールせずに、必要なパッケージだけ手動でインストールすることってできるんでしょうか?
>>46 自分のディレクトリにコピーするだけで使える
マニュアルの日本語化+αって感じなんだろうね、書籍。 9月8日、昨日の発売だ。誰かレポしてYO
>>38 WEBで扱う分には、タブそのものを必要とすることは滅多にないからね。
そもそもHTMLフォームじゃタブを入力しようと思っても、普通には出来ない。
>>49 普通にできなくても,できる可能性がある以上は,
コード側では対応しとかないといけませんよ?
もちろん「対応しない」という仕様にして納得してもらうのが安上がりでいいけどさw
スペース1個に置き換えるだけで十分な場合がほとんどじゃん。 XMLは遅いし、めんどくさいし、DBはメンテに手間がかかるし、タブ区切りが一番手軽でしょ。 PHPの場合は、SQLiteも普及するかもしれないけど。
PEAR本買ったぞ。結構有用な感じ。 思ったよりHTML_QUICK_FORMにページ割いてるので嬉しい あとなんか紙質が安っぽいwwww 購入を迷っていてなんか質問ある人は答えるよ
結婚はしてますか?
これからPEARをやってみたいんだけど〜って人にも勧められる内容なのかな? 前提条件として、「このくらいは知っておかないと」というのがあれば、それもお願い。 せっかくだからage
PEAR本なんか必要ないんじゃないの?
自分は52とは違うけど
>>54 むしろこれからPEAR触ってみようかな、って人にいいんじゃないかな
ざっと見たら手広く紹介してあるみたいだったよ
>>55 PEPrまで毎日チェックしてるぜ!な人にはもちろんいらんと思う
>>53 してません。ちなみに当方28才女自営業です。
>>54 PEAR『入門』ですから、PEARの導入方法から使用法まで割と親切に書いてあります。
ただしPHP初心者には難しいと思います。
>>55 まあ今まで無くてもみんなやってこれたので、必要ないと言えば無いのですが・・・
でもPEAR公式マニュアルって翻訳が追いついていなくて、半分英語・半分日本語だったりするじゃないですか。
HTML_QUICK_FORMなんかはマニュアルだけで使いこなすのは絶対に無理だと思いますし。
絶対に無理ってことはないな。
59 :
53 :2005/09/27(火) 00:38:02 ID:???
>57 それでは購入することにします。 当方も28才男自営業ですので、よろしくお願いします。
今の2ch PEAR Wikiって
>>4 でいいんだっけ?
最近色々触ってみてるからちょっと情報上げていこうかと思うんだけど、
FrontPageとか勝手にいじっちゃっていいもんなのかな
いいんじゃないか?
>>59 何気にプロポーズすんな。
前に一部の上位エロの方々が脱HTML_QuickFormと
言ってるのをどこかで読んだが、使わない方向で頑張った方が
良いのだろうか?
今使ってて便利だと思ってるのはhierselectが便利って事くらいかなぁ・・・。
俺も正直このまま案件でQF使いつづけるべきか悩んでる ちょっと小回りが利かしづらい部分がある 生成した時点でリクエストとマッピングされてるのも 便利っちゃ便利なんだがさせたくない時とかもある 最初はラジオボタンとチェックボックスで悩み デフォではfileエレメントがサポートしてないのに悩み レンダラで悩み色々試行錯誤してようやく使い物になる かと言って代行になるようなライブラリもないし あったとしてもチーム全体がそれになじむまでには QFの使い方に慣れるまでと同等のコストがかかりそう QFは全体像を掴むまでが大変 QFくらいの機能を備えててもうちょっとシンプルな フォームに特化したライブラリがあればいいんだけど エロい人らはやっぱ自作してるんでしょか
上位のひとが脱だーって言ったからって, それを超えるものを提供した上で言ってるわけじゃないからなー. むしろ共存のために Maple 用の Filter_HQF とかを作った方がいい気がしてるので, いまその辺をいじくり中. 重複しない機能をうまく使えば,これで充分になるんじゃないかと……
ヒント: Flexy
>>61 じゃ暇があったらなんか書いてみるよ
>>63 HTML_Formはシンプルすぎるか
以前QFのエレメントの設定を設定ファイルに書くハンドラを作ったことがあるな
まぁ設定ファイルをXMLにしたもんで、HTMLを書かなくて済むQFを生成するために
XMLを書くという堂々巡りになってしまったわけだが
結局、記述量や習得するまでの時間を考えると使うメリットが無いって事でしょ。 Validaterは各フレームワークのものを使用すると。 俺はQF使う派だけど、確かにQFだと悩みながら書くこと多いから、 普通にHTML&Javascriptで書くのに比べてかなりの多くの時間を費やす事がよくある。
でも JS の自動生成や advmultiselect みたいな拡張機能は他にはない魅力…… なので何とか共存の方向を考えたいところだ
便乗で質問だけど、DBまわりは何使ってる? MDBとか使ってたけど、意味あるのかなぁ・・・と思って 最近は思い切ってPDO使うか、もしくはネイティブ関数使ってる。 たまに 「mysql_query()なんてのをコードの中にたくさん書いてたら、 あとで困るんじゃないの?」 って意見を見かけるけど、困らないね。 コネクトとかquery発行する箇所はクラスに纏めてるから一ヶ所だし。 それにだいたいSQL文からして方言の差があるのに、 そんなとこ気にしても無意味じゃないかなと思うんだけど、どうだろう。 DBプロジェクトに対してDBを変更することってかなり稀だと思うし。
ADODB だけどそろそろ移行の時期だと思ってる。
71 :
69 :2005/09/28(水) 23:28:51 ID:???
ADODBも使ってたけど、更新が頻繁にあるものが多いので、 目玉の(?)cache機能が殆ど使えないから止めた。
DB_DataObject 遅いっちゃ遅いんだが、便利で手放せない PDO+DBDOが使えるようになるのはいつのことやら・・・
73 :
70 :2005/09/29(木) 00:11:09 ID:???
>71 ADODBの最強な点はダイナミックリンク可能な点だと思ってるから無問題 DBの速度にはまだこまってないからやってないけどね >72 俺もPECLのDBDO待ち
おれも DBDO が使えるようになるまでは DB_DataObject で粘ろうと思ってる そこまでパフォーマンスに厳しい仕事をしてないってのもあるが……
PEAR DBは重すぎて糞 PDOマンセー
>>74 やめとけ。updateがDB_DATAOBJECT_WHEREADD_ONLYでしか動かないぞ。
最新バージョンは挙動がかなりおかしい。
PHP5+Propelにしとけ
>>13 いまさらだけど、Smarty使ってるならプラグインにまとめようぜ、そういう処理は。
>>76 Propelって初めて聞いた。
検索かけても殆ど情報得られないなぁ。
>>73 DBDOって現状じゃ全然使えない?
更新が4月から止まってるけど。
今やらなきゃいけないものを何でやったらいいのやら・・・。
今ならPDO単体でやるのがいいのかなぁ。
>>78 配布先に使い方全部書いてあるし。
てかpropelしらかったて…
>>79 使い方じゃなくて、使えるレベルにあるかって事だろ。
自分で調べれ。
propel知らないのも別に不思議じゃなくね?
そんな有名じゃないだろ。日本で。
81 :
nobodyさん :2005/10/01(土) 17:31:35 ID:+fvd5pTY
質問です。 PEAR::DBを勉強中なのですが、PHP関数で言うmysql_insert_id()と同じことをやる場合には どうしたら良いのでしょうか? pearマニュアルを何度も読んだのですが、該当する部分が見つからないです。。。 どなたかお助けください。よろしくお願いします。
83 :
nobodyさん :2005/10/14(金) 17:10:01 ID:TRgLsoyz
PEAR::Authをインストールするためコマンドプロンプトから
cd c:\php
pear config-set http_proxy
http:// (プロキシサーバ):8080
pear install Auth
と打っても
XML error at line 1, check URL
Invalid return payload: enable debugging to examine incoming payload
とエラーが出ます。ググっても解決策がよくわかりません。ご教授お願いします。
(プロキシサーバ)のとこには自分のプロキシサーバ・アドレスを入れています。
なんで?
>>69 自分の今いる現場では、PEARはほとんど使ってないね。
携帯向けサイトの仕事なんだけど、TV局のサイトなので告知とかあると
アクセスが集中してWebサーバとDBサーバの両方に負荷がかかる。
ハードの強化は予算的にどうしようもないので、プログラム側で工夫することになるんだけど、
1リクエストに対するレスポンスを上げるため、できるだけ処理速度を上げるように言われてる。
そのためDBアクセスでは、PEAR::DBは使わずに、ネイティブ関数をラップした共通関数orクラスを使ってる。
>「mysql_query()なんてのをコードの中にたくさん書いてたら、
>あとで困るんじゃないの?」
>って意見を見かけるけど、困らないね。
確かに全然困らないね。
DBアクセスは一箇所にまとめるんだから。
>それにだいたいSQL文からして方言の差があるのに、
>そんなとこ気にしても無意味じゃないかなと思うんだけど、どうだろう。
SQLを改善するほうがPHPのソースをいじくるよりレスポンスの改善効果は高いし。
そのためには、SQLの方言はどんどん使うべきだと思う。
>DBプロジェクトに対してDBを変更することってかなり稀だと思うし。
そうだね。自分の場合は、ずっと運営してきたサイトで何百ものソースが動いているのに
DBMSを変更するような事はまずないと思う。
DBMSが変更になったら、例え少ない変更でもほぼすべてのソースのテストを行わないといけない。
客にとってはDMBSはなんでもよくて、サイトがちゃんと動いてればいいわけだから、
そんな変更はあり得ないし、そんな予算ないと思う。
自分の場合は、こんな感じだけど、もちろんまったく違う状況の人もいると思うので
参考にならないかもしれないけど、とりあえず1例としてあげてみた。
まあそういう理解が前提じゃないの? Martin Fowlerがまとめのがよく言及されてるけど
それよかコンポーネントがちゃんと出来てるかどうかのほうが重要かもと思う
89 :
86 :2005/10/16(日) 04:29:55 ID:???
おれもSQL好きだなあ。 ストアドとかで一発処理できると結構快感がД`) sql92だけでもそこそこやれるよね。
>86 adodb使ったら?
Pear::DB使わないで得られる負荷低下なんてすずめの涙ほどもないよ
条件によるのだろうけど うちが手がけた案件で両方実装してテストした結果 かなりの差がでたのでpearを使わなかったものもある。
PEAR::DBっぽいインタフェースを備えた ネイティブ関数のラッパークラスでいいんじゃないの? 直接 mysql_*() を書くのは抵抗がある.
>>86 レスポンスを上げたいなら、そんな事より先にCache_Liteを検討すべきでは?
キャッシュをメモリに置けばお手軽に負荷テストの結果を一桁あげられるよ。
SQLの最適化もいいけど、SQL問い合わせをいかに減らすかの方が
アプリケーション全体のレスポンス向上への貢献度がはるかに高いと思うな。
だから生SQLはできるだけ書かずにPEARならDB_DataObjectにおまかせで済ます派。
まぁ、キャッシュの使えない局面もけっこうあるけどね...
PEAR::DBでOCI8使ったら一部のSQLでフィールドがずれたり文字が化けたから OCI8関係は自分でPEAR::DBっぽいクラス作ったな…
そこで組み込みの SQLiteDatabase クラスですよ。 mysqli クラスは使ったことないけどプロパティ・メソッドの一覧を見る限り 「MySQLでできること全部詰め込んでみました」な感じが良いような嫌なような。 本命は PDO だけど現状では PDO_SQLITE/PDO_SQLITE2 で予期せぬテーブルロックが発生することがあって使えない。 PDO_PGSQL はいい感じ。 MDB2 はドキュメントにもあるとおり API 変更が当たり前のようにあるのでメインに使うのは怖い。
99 :
nobodyさん :2005/10/17(月) 07:11:47 ID:QlBs94zi
前にベンチとった。 10万件から、単にセレクトしてテーブルで表示するだけのもの。 ネイティブ関数を1とすると、 PEAR::DBを使用した場合、2倍。 DB::DataObjectを使用した場合3倍くらい時間がかかった。 adodbは1,8から1,9くらい。 (とりあえず、PEAR::DBよりは遅くなることはなかった) ネイティブ関数のラッパークラス(自作)だと、1,2から、1.4くらい。 速度にシビアなとこは、やっぱネイティブ関数使うんじゃない? ちなみに同じ環境でmod_perlだと、0,7以下。(Apache::Registryのみ) あ、スペルいい加減。
なんだこれ?
>>99 ADODBの本領はダイナミックリンクだってば。
>>101 >ダイナミックリンク
DLL?
ADOdbext?
ADOdb extension。
>>104 環境plz
基本的にはphp.iniかextensions.iniで直接呼んでください
>>105 FreeBSDのバージョンいくつか忘れたけど、使えなかったと記憶してる。
>>107 そんな無茶な。
mod_perlって言いたいだけちゃうんかと。
×107 ○106
109 :
nobodyさん :2005/10/23(日) 00:40:25 ID:p3DWBPtp
>>109 PHP関連書籍のスレがあるからそこで聞こう
111 :
nobodyさん :2005/10/23(日) 01:57:27 ID:p3DWBPtp
112 :
nobodyさん :2005/10/23(日) 16:24:41 ID:Bt6ZIoqC
>>110 いやPEAR本だし、さすがにここでもいいんじゃないの?
>>109 上の方で話題にあがってるよ
113 :
nobodyさん :2005/10/23(日) 16:46:59 ID:I/RMFvXv
PEAR::Cache っておなくなりになったんですかい?
>>114 お・・ありました。マニュアルの方を見ててなかったので、
なくなったのかと勘違いしてしまいました。失礼。
>>99 phpaとかアクセラレーター使ってみての比較?
>>116 使ってないでしょ。
前提条件が適当で曖昧すぎる。その曖昧なままのベンチってのは99もわかってるとは思う。
Pear の Ajax ライブラリのサンプルプログラムを載せてるWebページ無いでしょうか?
HTML_Template_Flexy と Translation2 を組み合わせて 多言語対応 Web アプリを作りたいのだが, 情報源がまったくといっていいほど見つからない・・。 ぐぐってもリリース情報しか出てこない。日本語だけじゃなくて世界で。 だれも使ってないの??? あぁ 困ったorz どなたか有用な情報もっていらっしゃいませんか?
122 :
120 :2005/10/29(土) 11:43:30 ID:???
PEARってこういうの多いよね。 英語で良いから最低限のマニュアルくらい作ってから公開してくれんかのう。 javadoc形式のでも良いけど分かるように書いてくれー。 個人で使うのにはかまわんが、仕事で他人に勧めることができん。
>>123 日本人が作ったライブラリでも、英語だけで日本語のマヌアル用意してない場合も多いよね。。。。
>>124 それでもマヌアル無いよりは100倍ましだけどね。
まあそう思った人が解析してマニュアル書き起こす(せめて自分のHP上でまとめる)しかないんだろうなぁ がんばろうぜ、みんな
127 :
nobodyさん :2005/10/31(月) 13:32:47 ID:KLBqKPJE
SimpleTestで質問です。 WebTestCaseクラスでラジオボタンをチェックできないのでしょうか? <input type="radio" name="rdoTest" value="test" checked/>Test を $this->assertField('rdoTest', 'test'); とすると、 Fail Field [rdoTest] should match with [Field expectation [String: test] fails with [Boolean: false] at character 0 with [test] and []] at line [18] となってしまいます。 よろしくお願いします。
あ、こちらこそよろしく
どうぞおさきに
>>127 >$this->assertField('rdoTest', 'test');
$this->assertField( 'rdoTest', array( 'test' ) );
とかは?
あと、
> checked/>
半角スペースなくてもOKだっけ?
checked />
スペース入れるのって、後方互換のためだけだっけ?
間違ってたらスマソ
>後方互換のためだけだっけ? そう。本来はスペースなしが正しかったはずだけど checkedは古い書き方だな・・・
132 :
127 :2005/10/31(月) 22:41:51 ID:???
>130 ご指摘の通りでした。 checked/> の半角スペースがないのが原因でした。 それと、array()の件もラジオボタンが複数あればその通りです。 ありがとうございました。
133 :
127 :2005/10/31(月) 22:45:43 ID:???
>131 レスどうもです。 checked は古い書き方なんですか?
134 :
127 :2005/10/31(月) 22:48:48 ID:???
checked="checked" と、いうことですね。
checked="checked" だったっけ? 正しくは.
>>133 スレ違いネタだけど、
XHTMLなら checked="checked" だな。
127の人気に嫉(ry
質問したい事があったのですが、今スルーされると悲しいので
出来ません・・・。
>>127 ウラヤマシス
140 :
nobodyさん :2005/11/03(木) 15:21:46 ID:gVE/R27X
>>140 P ペニス
H ヒップ
P ペニス
だってw
一般人には「PHP?ナニソレ?」って感じなんだなーとオモタ
PHP出版とどっちが有名なのかなw
>>140 なんでニュー速に誘導なんだよ。何のための板だ糞ガキ。
>>140 人口が多いためか早いうちから良い情報が書き込まれていたためです。
それにひきかえWebProg住人はスルーでした。
(プログラマは多いけど、サーバ管理者やセキュリティに関心のある人は少ないのかもしれん)
DAT落ちも早いだろうから、落ちたらPHPスレに情報をまとめて貼るよ。
まあ一般のニュースサイトにも載るくらいの緊急事態だったもので勘弁してくれ。
>>145 まぁ、なんだ。そのadvisoryをちゃんと自分で読んでみ。
JOYりすぎなのが自覚できると思うよ。
>>145 11月2日(ニュースサイトに載るより前)に脆弱性に関する正確な情報が PHP-users ML に投稿されてるわけで・・
それ読めばニュー速+なんて読む必要は全くないんです.
WebProgよりも自宅サーバ板とかレン鯖板の人たちに伝えるべきでは?
>>146 いやいや、業務で負の資産を使っていて、register_globalsをoffにできない人も多いのよ実際
あと、このセキュリティホールそのものより、4.4.*の不具合問題の方が話題の中心になったりしてる
>>147 うん、PHP-users MLもリアルタイムで見てた
過去ログ見ればわかるけど、正確な情報は流れていないんです。
11/2の時点では情報が錯綜していて、yohagi's blogに正確な続報が出されたのが11/3。
php.gr.jpに公式アナウンスが載ったのが、更にその後(おそらく11/4)。
>WebProgよりも自宅サーバ板とかレン鯖板の人たちに伝えるべきでは?
こちらにはまあ同意だけど、じゃあWebProgの人には関係ない問題かというと、そうではないでしょ?
※PEARスレなのにスレ違いスマン
関係なくはないがPHP関連のスレ全部にマルチするのは勘弁
>>149 だよな。興味ある奴は自分から情報とりにいくだろうし。
まあ、
>>139 ,
>>143 みたいのをマルチしたの俺じゃないしな
それがウザイから誘導したつもりだったんだが、、、
こういう場合はどうするのが良かったんだ?放置か?
でもそうするとこのスレ内で「この問題って結局何なんですか?」みたいな議論が始まっちゃうでしょ?
いいんじゃないの。俺もこのコピペで知ったわけだし。
153 :
nobodyさん :2005/11/05(土) 14:29:52 ID:tf0gwVLz
>>151 それなりの考えがあってやったんだろうし、俺的には別に構わんよ。
ただ、マルチを煙たがる香具師も多いだろうから、そこも配慮した方がいいかもしれないね。
とりあえず、WebProg板では、まともなレスはなかったよね。
>>145 の↓
(カスは多いけど、サーバ管理者やセキュリティに関心のある人は少ないのかもしれん)
喧嘩はよくないと思います!
>>155 既知の情報をコピペではりまくられたら無視するだろ。
わざわざこことかで議論しなくてもuser-MLとか本家とかみればそれなりの情報があるわけだし。
例えコピペで知ったとしてもそれらを見に行けば済む話だしね。
バグについてここでどうこう言うのもすれ違いだし。
そういうことに気がつけと。
あちらこちらに貼ってあるし、URLがニュー速だったから また誤誘導かと思ってスルーした 最初から日経に貼ってあれば見に行ったと思うけど
つーか 多数の認知 >>>>> 個人のウザイ感 だろ。 いちいちニュー速だコピペだ文句言ってる奴ケツの穴小さすぎ。
うほっ
>>159 言いたいことはわかるが、貼り付けるときに貼り付ける理由や動機、スレとの関係を書き添えてあったらまだましだったんじゃないかな。
2chでぶっきら棒にマルチコピペすりゃ荒らしとみなされても仕方ない。
まあいい加減この話題はスレ違いなので、お開きがいいかと。
PEAR の Validate って使ったことある人いる?
だからなんでこの板はスルーすることを知らないんだYO うざくても「うざい」と書き込みさえしなけりゃ、その後、余計な時間を使ってストレスを 溜めることもなくなるのに。
暇だからって結論が出てた希ガス
他の板では華麗にスルーするネタでも、ここだと何故か触りたくてウズウズしてくる
>>167 わかるわかる.この板結構まじめだからなぁ.
マ板とかなら軽やかにスルーしてる.
荒らし宣言だな
Text_Wiki 使ってる香具師いる?重いって本当?
>>172 Text_Wiki を使う YaWiki ってのがあるから使ってみれば?
174 :
nobodyさん :2005/11/25(金) 17:58:54 ID:jDxpSmO4
この速さなら言える。 HTML_QuickFormは使う価値なし。
175 :
nobodyさん :2005/11/25(金) 18:19:40 ID:mEnoPTSD
替わりのすばらしいvalidatorがああるなら移りたいから教えれ
おれおれvali
177 :
nobodyさん :2005/11/25(金) 20:27:51 ID:jDxpSmO4
>>175 validatorとして使ってるのか?
愚か者め!
QFはhireselectの為だけに存在しています。
最近、 おれおれvali はやってるよな。
バリデータなんてそんなに複雑でもねーしな
181 :
nobodyさん :2005/11/26(土) 18:33:13 ID:GyyEiC40
PHP 5.1.0のPEARがうまくインストールできません。 8. Path to CLI php.exe : C:\PHP\PHP5.1.0\. ここを変更しようとphp.exe 選ぶんだけど、 **ERROR** Please, enter the php.exe path. って出て変更できんのだよ。
ゴミにもならない報告乙
ゴミにもならないだと。 ではなんなんだ。
ゴミにはなってるよな。 手がかりになりそうな情報は全部隠してるし。 つまりあれか、ネタってことか。
ためにしphp.exeを選択してみたところ死ぬほど明快な エラーメッセージが出たんだよもん つかバイナリだけ別ディレクトリに入れたい理由は何だ?
なるほどね。 寝て待っていれば解決すると思われ。
187 :
nobodyさん :2005/11/27(日) 13:40:35 ID:j3jzmlYw
Eclipse使ってれば勝ち組
重すぎ
189 :
名無しでいいとも! :2005/11/27(日) 20:47:24 ID:j3jzmlYw
↑それはマシンが悪い
↑ダイエット汁
マニュアルがむっちゃ重いんですけど、これで普通ですか?
新型VAIOとかの軽いマシンに買い替えればいいんじゃないかないいんじゃないかな
そっか、やっぱその手しかないのかな ボーナスに期待しよ
pear.php.net おちまくりだなぁ
195 :
nobodyさん :2005/11/30(水) 17:48:31 ID:6Ig6k9FD
おいおい受験シーズンなんだぞ pearは配慮してくれないと
受験と関係あるのかよww
pear.php.net 混んでんのか?レスポンスわるい。
あるけど意味なし
たまにすげー重いよね。
jp2.pear.php.net
hosyu
PEARじゃなくてPECLのAPCなんだけど、MojaviやAgaviを使用すると、 ページが見つかりませんってなるけどなんでだ・・・。 iniの設定は apc.mode = mmap apc.cachedir = /tmp apc.check_compiled_source = 1 apc.check_mtime = 1 で、Mojavi&Agavi外のPHPファイルは普通に表示されるのに。 mmapじゃなくてshmにしても同じだった。
正直APCは微妙だな。不具合が多い気がする。 eAcceleratorに替えるといいよ。 PHP5.1には、まだ対応してないけどなー。
207 :
205 :2005/12/19(月) 16:28:51 ID:???
>>206 そうなんだ。
でもMojaviで同じ現象起きてる人いないみたいだったので、
絶対自分の設定がどこかおかしいのだと思う。
おとなしく5.1対応したZend Optimizerでも使っときます・・・。
208 :
nobodyさん :2005/12/20(火) 18:15:45 ID:3cC2JEjt
HTML_QuickForm_hierselectを使ってるんですけど サブの項目にデフォルト値をセットする方法がわかりません 誰か教えてもらえませんか?
array(first , second)
210 :
nobodyさん :2005/12/23(金) 06:49:35 ID:30HrNDez
FreeBSD 5.3とMOD_PHP Version 5.0.4、Apache1.3.34を入れてます。 MOD_PHPをポートからいれるとき、 --without-pear オプションを指定しないでconfigureしたのですが、 >locate PEAR.php >/usr/local/lib/php/bootstrap/PEAR.php のように、ここドコ?的なところにはいっています。 で、今度は「pear-DB-1.7.6」をポートから入れようとしたら、 インストール途中でなぜかphp4-4.4.1_3を必要だとかで、 php4をダウンロードしようとしてしまいました。 こわいので、中止してしまったのですが。。。 上記、ただしくはどうすればよいのでしょうか? よろしくお願いします。
>>210 make cleanしてみると、php4を前提にportsを作っているぽいね。
bsd# make clean
===> Cleaning for libiconv-1.9.2_1
===> Cleaning for autoconf-2.59_2
===> Cleaning for gettext-0.14.5
===> Cleaning for gmake-3.80_2
===> Cleaning for libtool-1.5.22
===> Cleaning for m4-1.4.4
===> Cleaning for p5-gettext-1.05_1
===> Cleaning for pear-1.4.5_2
===> Cleaning for php4-pcre-4.4.1_3
===> Cleaning for perl-5.8.7_1
===> Cleaning for php4-4.4.1_3
===> Cleaning for help2man-1.36.3
===> Cleaning for expat-1.95.8_3
===> Cleaning for php4-xml-4.4.1_3
===> Cleaning for apache-1.3.34_3
===> Cleaning for pear-DB-1.7.6,1
そういう時はpear-PEARだけportsで入れて、後はpear installコマンドで
必要なパッケージを入れたらいいのでは?
どこか無料サイトでPEARが用意されているところは ございますか?
>>213 さんすみません。
質問の仕方が悪すぎたです。
PHP使用可の、無料ホームページやレンタルサーバで
PEARが使用可能なとこは、ございますか?
>>210 ,212
pear-PEARは既に廃止されてます。(see /usr/ports/UPDATING)
まずはPortsツリーを最新版に更新してPHPもphp5-*-5.1.1にしてからdevel/pearを入れ、
その後、pear-HTTP_Client等を入れていけばOK。
あと、make install するよりportupgrade使った方がはるかに楽。
>>214 共有サーバにプリインストールされてるPEARは(そういう鯖があったとしても)
パッケージ管理が柔軟にできないのでおすすめできない。
自分で必要な分だけ集めてUPし、include_pathを設定した方がいい。
218 :
211 :2005/12/23(金) 21:35:12 ID:???
>>215 そうっだのか・・・。
最近アップデートサボってたからPHPを5.1に上げがてらPEARもメンテしとくか。
portupgradeは使ってますよ。後、Portsツリーのアップデートにはportsnapが便利だね。
>>205 PEARとは直接関係ないけど、APCの話題が出たので・・・
うちもPHP5にAPCを導入すると、エラーの出るスクリプトが多発した。
原因を調べたところ、キャッシュされたスクリプトから
superglobalsにアクセスできないようだった。
同じような現象がないかとぐぐってみたら、下の記事を発見。
ttp://pecl.php.net/bugs/bug.php?id=4772 で、記事のとおりにphp.iniで
auto_globals_jit=Off
にしてみたら、エラーが出なくなった。
以上、参考まで。
PHPは危なくて自動アップデートなんて出来ない。
HTML_QuickFormでapplyFilter()された値を修正画面や確認画面で、 反映表示することはできませんか? applyFilter()された値をユーザが確認できない仕様はどうしても嫌なので、 ソースを改造してでもどうにかしたいんですけど、 ソースを見てもどこをどうすればいいのかさっぱりです。
223 :
205 :2005/12/24(土) 20:08:38 ID:???
>>219 情報ありがとう。
ただ自分の場合は、エラーが出るところまでいかず、
ブラウザが「ページが見つかりませんでした」とエラーを出します。
>>221 自動アップデート云々はおいといて、
PHP5.1.1とMySQL5の組み合わせでPDOを使用した時
接続が出来なくなりました。
接続エラーは出てないのですけども。
別サーバでPHP5.1.1とMySQL4の組み合わせでは問題なく
接続出来ました。
PHPは平気でバグ付きでリリースされる。
>>223 > PHP5.1.1とMySQL5の組み合わせでPDOを使用した時
こんな特殊なケースを持ち出して、
>PHPは危なくて自動アップデートなんて出来ない。
なんて言うのはちょっとあれなんじゃない?
とりあえずオフィシャルは見ないと駄目だよね
227 :
223 :2005/12/25(日) 00:00:56 ID:???
>>225 特殊かな?
DBサーバがMySQL4でも、Webサーバに入ってるMySQLが5だと
ダメだったんだけど。Webサーバ側の方は特に関係ないかと思ってた。
>PHPは危なくて自動アップデートなんて出来ない。
それ俺が言ったわけじゃないけど。
それはそれはおいといて、こういう事ありましたよって
ただ報告しただけ。
>>226 オフィシャルにバグレポート上がってました?
見てみます。
mysql5ってサポートされてるの?
>>227 PHP5.1.1もMySQL5もPDOもどれもβ版みたいなものじゃん?
何に原因があるかは(このスレ的にはPHPだが)容易に特定できないのでは?
という意味で言ったのだけど。
ぐぐれ
231 :
nobodyさん :2005/12/27(火) 15:14:20 ID:6hbW+Cc+
Authクラスってどうですかね? ソース見たらどうもいまいち信頼性のない感じだったのですが、 バグとかないですか?大丈夫ですか? 機能が機能だけに少し心配です。
ソースを見てダメなところを発見したならもう他人がどう言おうと使うべきじゃないのでは。 機能が機能だけに。 ちなみにどこがダメだった?
233 :
nobodyさん :2005/12/27(火) 16:30:24 ID:6hbW+Cc+
>>232 verifyPassword()と、DB.phpのaddUser()で cryptType の扱いに
細かな統一性が取れないらしいところとか、ずさんさを感じましたよ。
別にちゃんと取れてると思うけど? スタイルが気持ち悪いという理由かいな? 違うならもうちょい具体的に頼むわ。
235 :
nobodyさん :2005/12/27(火) 19:00:53 ID:6hbW+Cc+
>>234 Auth/Container.php の verifyPassword() と
Auth/Container/DB.php の addUser() を見比べて見てください。
一方ではnoneが有効で、一方では無効でしょ?
こういう内部的な相違は、
いちいちソースを確認しなければならず、無駄にハマる場合があると思います。
>>235 確かに、とはいえcryptType自体ドキュメントに載ってないみたいだし、
その機能に気づく奴はそもそもソース読んだ奴だけでしょ。
いまはuserAdd()自体の説明も削除されてるけど、昔はあったような気がするから
たんに後方互換のためだけに存在してるのかも。
PEAR::Auth つかってるけどいままで特に問題は経験してないよ。
でも気になるなら書き直したっていいんじゃない?
237 :
nobodyさん :2005/12/27(火) 22:31:05 ID:6hbW+Cc+
>>236 どうも。複雑な認証を行う場合は、大抵それ用にコード書くので、
ライトな使い方で、基本動作に問題ないようなら、とりあえずOKっす。
238 :
nobodyさん :2006/01/03(火) 11:02:07 ID:bVutY5ZN
それなんてエ(ry
>>238 カラムの型とかエラーメッセージを示さないでどうやって答えろと?
241 :
nobodyさん :2006/01/04(水) 03:11:04 ID:LqFUITlR
Pagerで 1 2 3 4 ではなく 1-100 101-200 201-300 301-400 のような表示はできますか? あと、Factory()のオプションの、 expanded [boolean]. もし TRUE なら、ウィンドウサイズは常に 2*delta+1 となります。 とはどういう意味でしょうか?
242 :
nobodyさん :2006/01/06(金) 17:18:35 ID:vfftbldx
インストールについての質問です。
このサイトでWin版マルチバイト対応PHP5.04をダウンロードしました。
http://www.geocities.jp/rui_hirokawa/php/win/ このPHPに入っているgo-pear.batがなにかおかしくて
(実行すると[Could not open input file: PEAR\go-pear.php.]と出てしまう)
PEARがインストールできません。
そこで以前使っていたPHP4に入っていたgo-pear.batをこのPHP5にコピー
してPEARをインストールしようと思うんだけど、この方法で問題なくインストール
できるでしょうか。
>>242 ちゃんとPHPが入っているフォルダに移動(cd)してから実行した?
244 :
242 :2006/01/06(金) 17:36:19 ID:???
>243 はい。(cd)でもやりましたし、「ファイル名を指定し実行」もやりましたし、 ダブルクリックでもやりましたが 「Could not open input file: PEAR\go-pear.php.]と出るだけでした。 PHP4のgo-pear.batはダブルクリックするだけで実行されます。
>>244 >>242 のリンク先に
現状での問題点(2005/5/31)
* go-pear.bat実行時にpear.batが作成されない(pear_bat.oldをリネーム)
って書いてあるやん・・・。
246 :
242 :2006/01/06(金) 17:48:01 ID:???
>>245 それは実行するとpear.batが作成されるんですよね?
実行ができないのでなんにも作成されてないんです。
それとPEARフォルダはPHPをインストールしたときにもうできているんでしょうか。
このPHP5にはPEARフォルダが無いんですけど。
>>246 たとえばphp-5.1.1-Win32.zipを落としてきて解凍するとPEARフォルダはある。
go-pear.batの中身を見ればわかるけど、PEARフォルダ内のgo-pear.pharを
実行してPEARのインストールをするみたいね。
その国際版になんでgo-pear.pharが無いかは知らないけど、どうせ流用するなら
PHP 5.0.4のソースを落として使ったほうがいいんじゃない?
>>247 なるほど。PHP5をダウンロードして流用しみます。
>>243 ,245,247助かりました。ありがとう。
249 :
247 :2006/01/06(金) 19:11:48 ID:???
>>248 蛇足というかおせっかいだけど、マルチバイト版を使いたいのは
内部コードをSJISにしたいからだよね?
でも、5.0.4には大きなセキュリティホールがあるから、PHP 5.1.1にして
内部コードをUTF-8化することをお奨めしとく。
mb_stringを有効にしてphp.iniを適切に設定すれば、出力文字コードを
好きなエンコードに自動変換してくれるから。
250 :
nobodyさん :2006/01/13(金) 14:16:52 ID:U09ztjR4
メモリのカスタマイズで1X1GBと2X512と同じ値段だけど、どっちがいいの? 1X1GBの方ですよね
>>250 PEARとどういう関係が?
ちなみにDual CHANNELなら2枚の方が早いんじゃないの
これって何て発音するの?
ペァーーーーー
ぴあで言い慣れてしまっている。
DB と MDB と MDB2 の違いっておおざっぱに言って何?
心の中ではペアと読んでる
>>256 thx
ついでに、こいつらで PHP 4 で SQLite が安心して使えるようになる
可能性って低いかねぇ? PHP 5 でバッチリサポートされちゃったし、
オレならモチベーション上がらないだろうなーと思うんだけど。
pearはペア派です。 nethackのitemでおぼえますた。 DBはぽすぐれおんりーになってきた最近です。
クライアントの前ではピアと読んでいる、(クライアントがそう読んでいる) が、心の中ではずっとペアと読んでいる。
>>258 低そうですねー。
PHP5でしか使えないOOスタイル(SQLiteDatbaseクラス)が
PHP4でも使えるようになると嬉しいんだけど...
ペアって読んでる。 関係ないけどCPANは読み方分からなくてシーパンで癖ついちゃったけどクパンって読むらしいね…。
266 :
nobodyさん :2006/01/16(月) 12:49:50 ID:G/ZbNFBV
梨でしょ
梨だよな。明らかに
梨に間違いナシ
270 :
梨元 :2006/01/17(火) 08:37:22 ID:???
恐縮です
梨の絵かいてあんだろ
272 :
nobodyさん :2006/01/24(火) 23:42:32 ID:6JXx7sTK
php5.1.2インストール済みのWin2000 ServerにPEARをインストールしようとして、 リモートデスクトップで接続し、DOS窓からphpのインストフォルダに移動して、 >go-pear.bat と入力しても何も応答がありません。 ちなみにWinXPのパソコンでは、Welcomeが出てきます。 なぜでしょうか?
Spreadsheet_Excel_Writerって文字化けするよね。
キャッシュはメンテナいないCacheよりCache_Lite?
>>273 PHPのやつは古いんで、かと言って最新のPerlのやつを移植するスキルもないので、
ブリッジ作ってPerlのやつ使ってます
Pager で、リンクに hoge.php?pageID=1#top みたいにページ内リンクをつけるのって出来ますか?
普通に考えたらライブラリの中で使ってるってことだと思うんだけども
279 :
nobodyさん :2006/01/27(金) 17:30:12 ID:zienXgmO
やっぱりAuthクラスっていけてないですね。 PHP5でエラーが出たので、ちょっと見たのですが、 コンストラクタの$options引数が、コンテナによって、 配列だったり、文字列だったりするのだけど、 どちらの場合も、ごちゃまぜに処理してしまっていて、 これがエラーの原因になっています。 よく使いそうな役割のクラスだけに、 もうちょっとしっかりしたコードにしてほしいもんだ。
281 :
nobodyさん :2006/02/01(水) 12:15:51 ID:FRDzC7Md
AuthクラスのgetAuthとaddUserについて質問です。
次レスのようなシンプルなソースを作りましたが、
addUserでは必ずTrueが、getAuthでは必ずFalseが返ってきてしまいます。
addUserはTrueでも実際には動作してないです。エラーも出ません。
getAuthはgetStatusに変えたら正しく動作しました。
同様な現象になったことがある方いませんか?
このままですと、getAuthやaddUserだけでなく他にも挙動がおかしいもの
がでてきそうな気がします。正しく動作させる方法を教えてください。
環境:
PHPは4.3.10ですが、デフォルトで入っているPEARの挙動が
おかしかったので
http://pear.php.net/packages.php ここから
AuthとDB関連のクラスは入れなおしてます。
register_globals は Off です。
282 :
nobodyさん :2006/02/01(水) 12:16:27 ID:FRDzC7Md
>>281 のソース
<?php
require_once "Auth/Auth.php";
$dsn = "mysql://user:password@localhost/database";
$authset = array(
"dsn" => $dsn,
"table" => "auth",
"usernamecol" => "username",
"passwordcol" => "password",
"cryptType" => "none"
);
$a = new Auth("DB", $authset);
// ユーザーの追加---必ずTrueが返ってくるが登録されてない。
if($a->addUser('user','pass')) {
echo "ユーザーを追加しました。";
}
$a->start();
// 認証チェック---必ずFalseが返ってくる。
if ($a->getAuth()) {
echo "ようこそ!" . $a->username . "さん<br>";
}
?>
PEARでXMLを扱う場合におすすめなのは、何ですか?
>>281-282 気のせいでした。。。_| ̄|○ il||li
接続設定が違っていた模様・・・
スレ汚しスマソ(´・ω・`)ショボーン
285 :
192.168.0.774 :2006/02/02(木) 10:25:44 ID:rSyssRqD
>>283 PEARじゃなくともSimpleXML使えばお腹いっぱい
>>285 PHP4なのでお腹いっぱいになりません…
>>285 しらなかった・・・
PHP5なのにxml_parse()使ってたorzorzorz
>>288 へー。初めて知りました。
PEARのXMLを扱うやつと比較しながら
ちょっと試してみます。ありがとやん。
HTML_QuickFormのaddRuleでhiddenの値(one-time token)をvalidateしようとしています。 なぜか全く反応しません。 requiredにも無反応。raiseErrorにもひっかからない。 hiddenの値をvalidateするにはどうすればいいですか?
>>292 マジで呪文を唱えてみました
効果がありませんでした。
とりあえずソースにデバッグコードを埋め込んだりして、動きを追っています。
mojavi + HTML_QuickForm + smarty という構成なのでそのどこかにバグがあるのでは
と思っています。
今このあたりを調べ中…(3日もコーディングが進まない…)
$form->accept($QFrenderer);
>>293 >mojavi
だったら、根本的な解決にならんけど、
Acrionのinitialize()あたりでチェックする。
こんなのでも動かないよ 仕様じゃないかと思われるから要望だそうかと思うけど $form->addElement('hidden', 'test', ''); $form->addRule('test', 'test is required', 'required', '');
297 :
nobodyさん :2006/02/13(月) 22:58:45 ID:pnT1I5vq
なんでPERLと似てんの?意識してんの?
SQLiteってそんな使ってる人多いの?
300 :
nobodyさん :2006/02/14(火) 22:59:00 ID:nEcRuD6a
SQLite ならデーモンの管理や権限の管理が要らないから DB の使えるホスティングが増えるんじゃないかなーと 期待してる
PHP ではあんまり流行らないかもねぇ まだ日本語ドキュメントがあんまりないし
仕事では使った事ないけど、遊びで使う時には便利だったな。@windows DB周りの設定のようなロジックに関係無い部分に気を使う必要がないから、すぐに作り始められる。 3への移行時期あたりに本家のドキュメントを手当たり次第に訳してどっかにうpした記憶があるんだが、URLわかんね。 地道に検索すりゃ見つかるんじゃないかな。 つか、他のDBと比べた時に多少制限があるくらいで、そこさえ押さえておけばあんまり意識する必要がなかったような。
305 :
nobodyさん :2006/02/18(土) 02:28:12 ID:Fc1AYhHK
HTTP_Clientでproxy使いたいんですが、どうやればいいんでしょうか
307 :
nobodyさん :2006/02/20(月) 17:31:46 ID:vRXDRBjP
誤爆?
309 :
306 :2006/02/24(金) 11:11:37 ID:???
extendsしたクラスを作って、直接メンバのHTTP_RequestのsetProxyをするクラスを自作しました… 意外と簡単だった
HTTP_Client で new HTTP_Request してる所と HTTP_Request のコンストラクタをちゃんと読んでれば 継承したクラスを作らなくても済んだのに。
311 :
306 :2006/02/27(月) 16:21:13 ID:???
読みました。 出来ました。 ありがとうございました。
QuickFormのdateで月日の範囲指定をしたいのですが、 minYearみたいなオプションはないのでしょうか? もしくは、それに変わるものみたいな・
HTML_QuickFormのfileってfreezeすると使えないんですか?
ageる
>313 デフォでは何も出ない。 自分で拡張するべし。
PEARにHTMLパーサってありますか?
PEAR::XML_HTMLSax
320 :
nobodyさん :2006/03/12(日) 16:46:29 ID:UjH0HOBY
コメントで色々言われているけど、 そのコメント自体が結構参考になる。
livedoorはOKだからはてなもOKじゃないの?
つーか、承認されてるし。達成したという事実はすげーかと。
325 :
nobodyさん :2006/03/28(火) 04:03:40 ID:y/Gmg3I1
DB_DataObjectのjoinAdd()で、 LEFT JOIN hoge_table ON id = hoge_id AND code = hoge_code のように、2つの要素をANDで指定できますか?
>>325 できない.
プライマリキーがひとつしかないテーブルにしか対応しないと思った方がいいと思う.
(これは joinAdd() に限らず DB_DataObject 全体にそんな傾向がある気がする)
普通の INNER JOIN なら whereAdd() を併用すると何とかなったりするんだけど,
LEFT JOIN は自分も前に頑張ったけどダメだった.
そして言い訳のようにマニュアルには「joinAdd() がややこしくなってきたら
生 SQL 食わせちゃった方がいいっすよ」とか書いてあるw
>>326 散々格闘した挙句、同じく生SQLで解決しちゃいました。
できそうでできないってのが曲者ですな。。
う。生SQLで解決と思ったのですが、別ライブラリとの連携の関係で、 これは解決策にはなりませんでした・・・。うーん。
生 SQL って DB_DataObject::query() 使ってる? 別ライブラリってのがどういうものかわからないけど, > $t1 = DB_DataObject::factory('hoge'); > $t2 = DB_DataObject::factory('fuga'); > $t1->joinAdd($t2); > $t1->find(); と > $t1->query( "SELECT * FROM hoge INNER JOIN fuga ON ( hoge.id = fuga.id )" ) は同値. 前者が複数キーテーブルのせいで実行できなかったとして, それを後者に置き換えてもそのライブラリの問題ってのが発生するなら, そもそもその案件に DB_DataObject が使えないってことじゃないかって気がする.
>>329 query() 使ってます。
別ライブラリというのは PEAR Structures_DataGrid です。
これは、こちらが渡した DB_DataObject のオブジェクトを、
追加操作してFetchするため、こちらで生SQLを発行しちゃうと
残念ながら効果がなくなるようなんです。
あちゃあ.なるほど Structures_DataGrid か…… DataObject を継承したクラスを作って, find() の時にオリジナルクエリを決め打ちで流すようにして, Structures_DataGrid にはそいつを渡すってのはどうかな? その場合は,Structures_DataGrid の _detectSourceType() を get_parent_class() でなく is_a() を使うように変更したらさらに楽にいけるかも.
いやぁ、Structures_DataGrid に DB_DataObject を渡すのは、 Structures_DataGrid に適切なLimitをセットしてもらって、 データ取得件数を最適化してもらいたいからなんです。 だからオリジナルクエリを決め打ちで流すのは効果なさそうだと。
困難やねw LEFT JOIN とかを適切に行なうビューを create view して そのビュー用の DB_DataObject を作るってのはどないだ
>>333 なるほど〜 それならできそうな気がします。
335 :
nobodyさん :2006/04/03(月) 15:39:54 ID:mvo6jAJ1
Pager に pageID 以外の変数を管理させたいってことだと違うかもしれないけど, とりあえず extraVars オプションを使ってみてはいかが.
337 :
nobodyさん :2006/04/06(木) 14:05:03 ID:gNYW2zNb
>>335 とんくすです。extraVarsの解説してるサイトってあまりないんですよね。
value=1 みたいに静的な変数は付加できるけど、value=%dみたいなこと
ができないみたいで…。
>337 pageIDを使うのじゃだめなのか? 何がしたいんだか分からん。
>>337 なんで pageID 以外に同じ値を冗長に持たせたいのかわからん.
単に変数の名前を変えたいだけなら urlVar に 'ID' を指定.
あるいは extraVars で 'ID' の値として $_REQUEST['pageID'] を指定してやるとか.
挙動を変更したいなら Pager_* を継承したクラスを作ってそこでやるとか……
PEAEの日本語マニュアル的な物はないの? HTML_QuickForm で 「denotes required field」って部分を日本語に置き換える方法って無いでしょうか? マニュアルがあればこの辺も調べたいんですが・・
「denotes required field」でぐぐると先頭だったのだが。。。
ごもっとも・・ orz=3
アカウントに認証はありますが、アカウントの作成に関しては何か用意されているのでしょうか?
346 :
nobodyさん :2006/04/14(金) 18:17:06 ID:ztoDRCLM
以前wampp2を使っていて、 今はxamppを使っています。 pear config-show をすると、ディレクトリの設定などがwampp2当時のままになっていました。 xampp側で再設定するにはどうすればいいのでしょうか?
347 :
nobodyさん :2006/04/14(金) 18:26:29 ID:STB/6fVF
348 :
346 :2006/04/14(金) 19:12:42 ID:???
>>347 ありがとうございます。
古い環境変数を削除して、pathを通して、
再起動させたら、直りました。
batファイル内を見たら環境変数がなければ再設定しているようなので、
環境変数が邪魔していたようです。
ディレクトりの階層をwindowsのエクスプローラみたいに したいんですけど、pearでそんな都合がいいもんないですかね?
DOMの勉強をしているんですけど、 $doc = new DOMDocument(); $doc->load('test.xml'); var_dump($doc); これだと、オブジェクトのID返すだけなんですね。 $docがどんな状態かすぐに調べる方法ってありますか?
ファイルのアップロードをするためのライブラリってあります?
354 :
nobodyさん :2006/04/30(日) 01:25:55 ID:TxzAQxO9
某レンタルサーバー(共有サーバー)で、HTTP_REQUESTを使用したかったんで、 PEARを手動インストールしています。 目的のHTTP_REQUESTは動いたのでいいんですが、 PEAR_infoが動きません。PEAR基本パッケージ?以外に何かインストールしないといけないんでしょうか?
355 :
nobodyさん :2006/04/30(日) 10:12:45 ID:TxzAQxO9
連カキコすません。 Console_Getoptが必要のようだったので、インストールしました。 で、結果は動きません。エラーログすら吐き出さない・・・。 PHP_info.phpにアクセスすると、しばらくたって白紙画面になります。 なにか、案などありませんでしょうか?
手動でモジュール入れたんだったら そもそもPEAR_Info使ってもしょうがないんじゃね 手動で入れたやつは情報見れんよ確か
propelがわかりやすく開設されたサイトないか?
>>356 レスどもッス。
そうなんすか。手動だとPEAR_Info動かないんだ・・・。
確かに、PEAR_Infoなくても問題ないんですけど、動かないってのがまず気になったのと、
時間がたって、「あれ?なに入れてたっけ?」で確認できたら便利かなと。
必要なモジュールは入ってると思うんだけどなぁ・・・。
prototype.jsベースのajaxライブラリってない?(APIが、RoR互換) サイボウズの奴見つけたんだけど、メンテしてないようで、prototype.jsが1.4.0だとエラー... あとAPIが今イチ使いづらい。
>>358 それぞれのファイルでrequire_onceしてるのを辿っていけば良くね?
>>360 Console_Getoptは、その方法で必要ってのはわかったんですけど、
他に必要そうなものが見当たらないんですよね。
ログが出ればわかるんだろうけど、なんでログでないんだろ。
ログは、別のPHPで適当にエラー起こすとちゃんと出るのに・・・。
362 :
356 :2006/04/30(日) 21:10:32 ID:???
>>358 いや、手動で入れたPEAR_Infoが動かない、ってことじゃなくて
手動で入れたPEARモジュールのディレクトリ指定して
PEAR_Infoの一覧にその手動で入れたモジュール一覧って表示できたっけなあと
PEAR_InfoってPEARのパッケージマネージャが作成する
レジストリファイルを参照してどんなPEARモジュールが入ってるかを
表示してたような気がする、、、って書いてて自信なくなってきたや
ええと、手動で入れたモジュールが表示されるかどうかは別として
ただ白紙とか動かんってことは何かミスがあるかと思う
動くのは動くはず
363 :
359 :2006/05/01(月) 04:52:20 ID:???
symfonyのJavascriptHelperが使えそ。 スレ違い、すま
>>362 なるほど。いろいろいじってたら、時々エラーログが出たりする・・・。
ログは、
PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/httpd/vhosts/ドメイン名/httpdocs/PEAR/PEAR/Registry.php on line 161
で、Registry.phpでエラーが起こってるってことなんすね?
該当の場所は、
function hasWriteAccess()
{
if (!@file_exists($this->install_dir)) {
$dir = $this->install_dir;
while ($dir && $dir != '.') {
$dir = dirname($dir); // cd ..
if ($dir != '.' && @file_exists($dir)) { ←ここが161行目
if (@is_writeable($dir)) {
return true;
} else {
return false;
}
}
}
return false;
}
return @is_writeable($this->install_dir);
}
ん〜どうしたもんかな・・・。
再度、連カキコすません。 PEAR_infoが動かない原因がわかったっぽい・・・。 Info.phpのソースを追っていてわかったのは、 共有サーバーなので、/usr/share/pearにアクセス権がないのが根本的な原因っぽいっす・・・orz で、pear_info.phpのnew PEAR_Infoのときに、 new PEAR_Info("ローカルインストのPEARディレクトリのパス","????") に変えてみたら、エラーログは出るようになりました。 で、PEAR_Infoの第2引数は、何を入れればいいんでしょ? PEAR_Infoの中で、new PEAR_Configのときに必要な引数なんですが、 マニュアルによると、 string $user_file file to read user-defined options from なんだそうで。手動インストした場合、なんのパスになるんでしょうか?
なんでメモ帳にしてる奴がいるの?
2chなんて馬鹿でかいソーシャルネットワークメモ帳みたいなもんだろ
368 :
nobodyさん :2006/05/03(水) 21:31:31 ID:V5QcZDri
PEARのDB.phpを使って、以下のスクリプトを繰り返したいのだけど どうすればいいですか?(sqlite) while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){ print $row[id]; } ここに一文必要? while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){ print $row[id]; }
>>368 mysqliでしか試してないけど
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
$i=0;
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC, $i++)){
print $row[id];
}
370 :
nobodyさん :2006/05/04(木) 02:46:46 ID:q11ggjCH
HTML_QuickFormでのアップロードは今後推奨されないようなのですが、 HTML_QuickFormを使っている人はどのようにアップロードを実装したらよいですか?
>>371 個人的にはQFを捨てるのがいいと思うけど
QF使ってた時はFileエレメント継承して
自前で拡張Fileエレメントを実装してた
>>371 枯れてるし、特にこだわりや不具合がなければそのまま使ってもいいんじゃない?
今後っていっても大幅な改良があるか分からんし
結構好きなパッケージだったんだけどな
>>373 公開するほどのもんでもないしさ
推奨されてないとはいえアップロード周りの処理自体は
QFのFileエレメントに元から実装されてるし
普通にFileエレメント使えばいいと思う
ただ元のままではfreezeできんから
そこは拡張したってだけで
376 :
371 :2006/05/04(木) 20:53:39 ID:???
推奨されていない理由ってセキュリティ的な問題ですか? freezeできないと何が困るかわからないので… QFの説明をあちこちで読んだのですがfreezeってなんですか?
動いたら撃つぞだっけ?
つまんね
>>372 371じゃないけどなぜQFを捨てた方がいいと思ってる??
他にいいのがあるなら知りたいと思って。
>>378 わからずに死んだ奴もいるんだから、それで片付けるなよ
>>376 >>380 >>377 は俺じゃねえw
非推奨なのは将来的にサポートされないからだっけ
freezeは各エレメントのリクエストをhiddenで
埋め込んだ状態にする、確認画面とかで使う
>>379 うーん、多機能なだけに全部QFでやろうとすると
QFのコードがMVCの色んなとこに分散しちゃうような気がする
組み方が悪いだけかもしれないけど
チーム内全員がQFを熟知してるならいいけど
0の状態から完全になじむのには時間のかかるパッケージだと思う
>>381 なるほど。細かい説明サンクス。
確かに学習コストは意外にかかるな。
でもjavascriptを自動で吐いてくれる魅力には勝てないww
fileは、セキュリティ的に問題があるのかと想像していたのだが
そういう意味ではなかったのか。
Maple で Filter_QuickForm なんてのを自作してやってるけど 分散するって感じにはならないなぁ Filter で QF のオブジェクト自体と画面遷移を管理 エレメントはロジックの方で作成〜みたいな まぁつまりやり方次第であって QF 使ったら必ず MVC が汚くなるとかそういうことじゃないぞと 学習コストがけっこうかかる点は同意 あとJSを自動で吐く魅力にも激しく同意w
>>383 確かにうちでもMVC的には問題ない
それより何かトラぶった時と、何かちょっとしたことをしようとした時に
調べたり面倒なことが多い。
情報も少ないし。
ところでCSRF対策のトークンをhiddenに仕込んでいるのだが受け取り側で
hiddenだけチェックしてくれないのだけどどうしてる?
情報はもうソース読むしかないってのがちょっとね…… まぁほとんどのPEAR物はそんな感じな気もするけど > hiddenだけチェックしてくれないのだけどどうしてる? ビミョーに意味がわからないが フォームの hidden 要素に初めから固定で値を入れておきたい時は setConstants() を使って入れてる ……ってそういう話じゃなく?
addRule('hidden')って実装されていないらしいので、トークンの照合ができないのです。 ページ1 hiddenにトークンを入れる ページ2 sessionのトークンとhiddenから送られて来たトークンが同じものかチェック これができなかったのです。
387 :
nobodyさん :2006/05/07(日) 02:20:02 ID:dJnoXYUq
数値としてのminとmaxのチェックがデフォルトで無いのはなんとかならなかったんだろうか
>>386 理解した
hiddenの値がどうこうというより,
固定値と入力値との数値比較チェックがデフォルトで Rule として搭載されていないってことね
HTML_QuickForm_Rule_Compare や HTML_QuickForm_Rule_Range をベースに
固定値との比較をするような Rule を作ってしまえば簡単なんだけど
いちいち addRule() するだけでも面倒だよね……
むしろちゃんと説明してなかったかも CSRF対策のためにチケットを発行し、そのチェックをしたいのです。 1. ページ1でチケットを発行。セッションとページ1のhiddenに埋め込む 2. ユーザがPOSTする 3. セッション内のチケットとPOSTされたきたhiddenのチケットが同じであるかどうか の照合をしたい ということです。 addFormRule() を使うという手もあるかな? うーん、よくわかんない...
>>389 たぶんその通りに理解できてると思うが.
addFormRule() なら何でもアリだね.
create_function('$values', 'return $values["ticket"] == $_SESSION["ticket"]')
みたいのを addFormRule() する,と.
(テキトーに書いたので動かして確認はしてません)
>>390 早速試してみましたができませんでした…
マニュアル読んでもaddFormRule()の使い方がわからんのですよね。
引数のmixedはどう使うのかと…
ソース見てやっとわかった。 マニュアル見ても書いてないんだもんなー。 結局ソース読まなきゃいけないという学習コストの高さはやっぱりたまにキズだな addFormRule * @param mixed Callback, either function name or array(&$object, 'method') オブジェクトとメソッドで渡せるようだ
393 :
nobodyさん :2006/05/08(月) 07:44:43 ID:ZvSis4Rx
流れぶった切ってすまんが、ドキュメントの有無も そうなんだけど、Pear パッケージはテストを必ず つけろってルールにしてくれんかなと思う。 CPAN とのいちばんの違いはもちろん量だけど、 質の違いはテストの有無に起因するんじゃないかと 思う今日この頃。
>>393 Thanx. かなり検索しているけど知らなかったいい資料ですね
tokenのvalidateもfreezeするとhiddenに前のtokenが入ってしまうという
また面倒なことになった
あー、QFってこういうところマンドクセ
>>394 テストあるっつったって、ただのスケルトンの場合も多し>CPAN
398 :
nobodyさん :2006/05/11(木) 13:30:14 ID:0g4oanFp
Spreadsheet_Excel_Writerについての質問です。 (平行してPHP質問スレッドにもマルチしてます。) ・・・微妙に質問内容が違うってことで容赦いただければと思います。ゴメンナサイ。 Spreadsheet_Excel_Writerで、データを落とし込んだファイルにパスワードをつけることはできますか? 要はSaveAsメソッドの設定ができるかどうかってことなのですが・・・ どうにも資料が見当たらないので、何か情報をお持ちの方がいらっしゃったら教えてください。
ソース読んだらいいじゃない。
>>398 ないよ
xlsのファイルフォーマット解析して自分で実装
分からないなら答えなくていい
【意味無し黄金パターン】 質問掲示板に ↓ 質問する ↓ 「自分で調べろ」 【意味無し黄金パターン その2】 質問掲示板に ↓ 質問する ↓ 「ソース読め」
>>402 どっちも同じだろ
得意げに知ったかぶりやがってワロス
「PEAR入門」に乗っているQuickForm_Controllerの wizard.phpの住所のところが文字化けする。 不思議なのは、addressをすべてaddress1とかに変更すると なぜか直ること。 日本語関係だったらまだわかるんだが。
ソース読んだらほんとにすぐにわかることって多いですよ。 初心者でもトライしてみる価値はあるんじゃないでしょうか。 とか書いてみるテスト
>>405 いや、それマジで勉強になるよ。初心者こそやるべきだと思う。
スポーツの世界でもよく言うが、「見るのも勉強」ってほんとだと思う。
それに、書いてあることが解るようになるとなんだか嬉しいし。
じゃあLinuxのソース読んでバグさがしてくれ。
>>407 お前のような奴がいるからペチパーは馬鹿にされるんだよ・・・。
ピーチクパーチクうるせーぞ
>>407 CのソースでもPHPのソースぐらいならたまに見るけどLinuxは見る気もしないです
ビーチクビーチクなめてーぞ
>>398 そもそもファイルにパスワードを付ける必要性は?
それぞれにパスワードつけて管理できんの?
つーかファイルにつけなくてもいーんじゃね?
そんな大事なもんだったら別の面でセキュリティ考えた方がよくね?
とかどうだい
Spreadsheet_Excel_Writerてもうメンテしてないんじゃなかったっけ と思って見に行ったら年末にbetaが出てたのね
PHPで片っ端からパスワード試すスクリプトでも書けば突破できそうな悪寒。
416 :
398 :2006/05/15(月) 10:16:25 ID:???
念には念を。で正解だと思います。 ・・・必要性も何も客の要望なんだもん。というのがSEの見解。 なんだか知らんがお客様のこだわりのポイントだそうです。orz 管理画面にアクセスするのにIPで制限をかけ、ログインするのにパスワード認証を行い ファイルを落とすのに権限で制限をかけ、落としたファイルにパスワードをかける。と。 個人情報がどーだこーだといわれる時代ですから。
まったく使ったことないけどWorksheet::protect()は?
SSL証明は使わないんだね。何か根本的な所がダメな感じ。
更新ping を送信、受信する専用パッケージってないですよね? XML_RPCかな。
420 :
nobodyさん :2006/05/20(土) 11:06:26 ID:FxboaxWW
PEAR::DBで、 $res = $db->query($sql); if (DB::isError($res) … と記述して、クエリの実行時エラーを検出しようとしているのですが、 例えば、$sqlに存在しないテーブルへの参照クエリを設定して実行しても、 $resにはDB_Resultが返されます。 $res->fetchRow()するとDB_Errorが返ってきます。 var_dump($res)すると、$resに格納されているDB_Resultの['result']に DB_Errorが格納されています。 これって仕様なのでしょうか? PHP 5.1.2 MySQL 5.0.19
>>420 そうです。マニュアルぐらい読んだらどうかね
>>421 いい加減なこと書かないで下さい。
自己レスですが、PEAR::DBのバージョンが古かったようで、
最新バージョンに上げてもらったら本来の動作になりました。
>>422 こいつはひどい。釣りにしてもヒド過ぎるレスだ。
PHP使ってる香具師って頭悪いなあ。
ゴメンヨ・・・
427 :
421 :2006/05/22(月) 20:39:50 ID:???
初心者が背伸びしたかっただけなんだよ! それをガタガタといちいちケチつけやがって! 初心者をなめてんじゃねーぞ! かかってきやがれゴルア!
ここは初心者を袋叩きにするスレですか?
phpspotの中の人が書いた本とか、このスレとか読んで ADOdbを使おうと思うのですが、 > ADODBの最強な点はダイナミックリンク可能な点 この“ダイナミックリンク”って具体的に、どういう使いかたですか?
adodbはPEARではないという件に関して
HTML_QuickForm で1つのページに<form> </form>を2つ置きたい場合は、 どうすればいいのでしょうか? $form = new HTML_QuickForm('Test1', 'post'); $form2 = new HTML_QuickForm('Test2', 'post'); とやってみましたが、何か違うような気がしてきました。
それでいけるはずだけどな
434 :
nobodyさん :2006/06/05(月) 11:36:25 ID:Wgk7hZcJ
PEAR::DBのプレースホルダ ? の自動クオートってquotesmart()じゃないの? ソース読んでる方おしえてくださいませ
435 :
nobodyさん :2006/06/05(月) 13:00:34 ID:82tWBB6m
PEARをインストールしたいのですが、c:\php\go-pear.batを実行しても ダンマリになります。何か考えられる原因が有ればおしえていただけ 無いでしょうか。。。 DOSプロンプトで > CD c:\php で移動して、 > go-pear.bat でEnterを押しています。 Enter押下後に、何も表示されずダンマリ。 何分待っても(1時間は待ちました)なにも表示されないので Ctrl+Cで強制終了。 環境は、WindowsXP SP2、PHP5.1.4です。
普通にネット繋がってないとか?
セキュリティソフトとか?
普通にファイヤーウォール機能が有効になってるんだろう。SP2だし。 許可しないと接続できないよ。 やりかたはウィンドウズ板で訊くか、メーカに訊くか、マイクロソフトにでも訊いてくれ。
439 :
435 :2006/06/05(月) 20:29:10 ID:???
SP2のファイアウォール忘れていました… ひとまず go-pear.php というのがあったのでそちらを試したところ インストールできました。
go-pear.batの中身みた?
Net_CDDBってご存じないですか? CDDBを利用出来るPEAR用のライブラリがあるとのことで ダウンロードして利用を試みているのですが、全く参考文献がないし そもそもどのように使うライブラリかわかりません。。 ご存じの方は、どうやってCDDBにアクセスして出力するか 教えていただけないでしょうか?
そもそもCDDBってあんまり信用性ないけど大丈夫な用途なの?
見た感じCDのdiscid?からデータを取得してるみたいだけど。 アーティスト名やアルバム名とかからも検索出来ないとあんまり使い道ないんじゃないの?
CDDBの有用性や用途自体はここで議論する内容じゃないな
あきらかに思いつきでCDDBに飛びつこうとしてる様には見える。 地道に手でデータ入力しないと使い物に成らないことは多い。
447 :
nobodyさん :2006/06/07(水) 01:37:05 ID:y49n2VPp
>>430 adodb-extのこと
エンジン部分がcで書かれてる
449 :
nobodyさん :2006/06/07(水) 12:02:25 ID:L3b4rYZL
すみません。ちょっと、教えて下さい。PEARでMDB_QueryToolを使っている のですが、あるSQL文を書くことが出来ないので、どなたか教えて頂きたい のです。Tcustomerテーブルから、pointフィールドが「3か4か5」のものを 抽出しようとして、下記の文をPHP5で書きました。 $Tcustomer = DB_Factory::create( 'Tcustomer' ); $Tcustomer->addWhere(' point in ( ? ) ','3,4,5'); そうすると、pointフィールドが「3」のものだけが抽出され、「4」と 「5」のものは抽出されないのです。普通にSQL文で書けば、 select * from Tcustomer where point in (3,4,5); とすれば良いのですが、どうしてもここはPEARのMDB_QueryToolで書かな ければならない状況なのです。どなたかPEARのMDB_QueryToolでの書き方 を教えて頂きたく存じます。宜しくお願いします。
DB_Factoryって自作のクラス? そこはよくわからんのだけど、単にMDB_QueryToolのインスタンスを返してくれるとして、 MDB_QueryToolのaddWhereは function addWhere($where , $condition='AND') { if ($this->getWhere()) { $where = $this->getWhere().' '.$condition.' '.$where; } $this->setWhere($where); } となってるから、 $Tcustomer->addWhere(' point in ( 3,4,5 )'); と書けば上手くいくと思う。 どうかな?
451 :
nobodyさん :2006/06/07(水) 21:13:32 ID:Ho01fxGO
少し質問させてください。 現在ファイルのアップロードが行える掲示板系のシステムをPHPで作成しています。 プログラム自体はそんなに苦労していないんですが、ひとつ付け加えたいものがあって悩んでいます。 大容量のファイルをアップロードする際、アップロードが終わらないと別の処理ができません。 そこで、「現在アップロードをしている」ことをわかりやすくするために、HTML_Progressを使ったポップアップウインドウで実現しています。 しかし、サンプルサイトをみても「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するのではなく、 アップロードが終わるまでアニメーションを行い、アップロードができたらストップさせる形でした。 これを、「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するようには、どうすればいいのでしょうか。 また、アップロードを行うフォームはHTML_QuickFormを使っているのですが、 アップロード中にブラウザを中止させたり、閉じたりした場合、進捗バーが止まらず、見かけ上常にアップロードしているように見えます。 できることなら、アップロード中にブラウザ側でなんらかのエラーが起きてアップロードができなくなったとき、 進捗バーを止め、エラーを表示したいのです。 アップロードに使っている関数はHTML_QuickForm_File::moveUploadedFileです。 この関数ではアップロードが「できた」か「できなかった」かの状態が取れるはずなのですが、 ブラウザからの中断には対応していないのでしょうか。 長くなりましたが、お答え願えれば幸いです。 最後に、もうひとつ質問なのですが、同システムをPerlでやろうとした場合、 PHPで行うより簡単になりますか?
世の中には自分で作れない馬鹿も存在するし(w
コントローラを自分では作れないけど この小難しい HQFC を理解して使える……ってのも 馬鹿の程度がかなーり微妙だよな
>>459 同感。
小難しい HQFC を理解して使える馬鹿の登場を待とうか。
なんて、あおってみたりするテスト
PEARってなんて読むの
ドンブリ
Perl使いはPEARと書いてうんことよみます PHP使いはPEARと書いてピアーとよみます
ピアーだとpeerだけどね。和製英語じゃ恥ずかしいよ。
洋ナシのことだから ペアーでいいんじゃない
どんなオチが来るのかと思ったら、普通に言っちゃったね・・・
用無し
誰がうまいことを言えと
ペアはpairだが。ここの住人は英語が使えないな。
きのうの昼下がり、対向車とすれ違うのが難しい狭い道路でのできごと。 対向車と鉢合わせ(↓な感じ) _______/ ̄\____ ●→ ←●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ●→ ←●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ● ●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ● ●俺 | ( _●_) ミ _______/ ̄\____ / ● ● | | ( _●_) ミ ∩___∩ | ノ ヽ / ● ● | ベア──!! | ( _●_) ミ 彡、 |∪| 、`\ / __ ヽノ /´> )
アイアムヒアー
くるくるパー
んで結局ピアー、ペアーどっちなの?
漏れは ペア 派
激しくDDI
漏れは今poorだ。金くれ。
480 nobodyさん sage 2006/06/15(木) 18:03:54 ID:??? 漏れは今poorだ。金くれ。
Spreadsheet_excel_writerを試用してるんですが、 セルに数値を入れるときカンマ区切りで表示する方法ないですかね? NumFormatでもできないようなので、PHP側でnumber_formatして 代入しているのですが、office2003のexcelで開くと 文字列として認識され激しく鬱です。 当然関数も使えなくなりますし…
>>482 void Format::setNumFormat (integer $num_format)
484 :
482 :2006/06/15(木) 23:35:37 ID:???
>>483 恥ずかしながらそのメソッドのマニュアルを見ても、
カンマ区切りのやり方が思いつかないんですが・・・。
ソース読まなきゃだめですか?
PEARのライブラリって、Zendの人が作ったものの割合はどれくらいなんだろう? なんかもうひとつイマイチなものが多かったりするんだが、 Zendの開発力ってあの程度のものなのかな。
PEARの人って、 ・元々PHP本体や拡張やってた人 ・Zendの人でPHPの本体、特にZEやってる人 と余りかぶってない気がする。PECLの方は、元々は 拡張でやってたのをPECLに出したものが多いけどね。
あれ、pear.php.netの鯖おちてるぞ
>>487 日常茶飯事だからいちいち報告しなくてもいいよ。
php使ってるからね。 検索エンジンが来たら落ちます。orz
いつの間にかHTML_QuickForm2なんてのがある
>>490 なにーーーーー
1との互換性はあるのか?
ファイルのアップロードはサポートされるのか?
ちょっといってくる
1と同じ機能らしいけどどうだろ 欲しい機能ある? one time token実装して欲しいなー
494 :
nobodyさん :2006/06/21(水) 12:59:40 ID:af4RZ/Sl
MAC OS 10.4でpearをインストールするためにコマンドを打ち込むと Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in Registry.php on line 284 could not create lock file: failed to open stream: No such file or directory というエラーが出てしまうのですが、どこのパーミッションを変えればよいのでしょうか?
/usr/lib/php/ ディレクトリか、 /usr/lib/php/.lock のファイルのどちらか。 まずは .lock を消して試すことだね。
レンサバでPEARを使うにはどうすればいい?誰か教えて
>>496 管理にお願いするか
自分で書き込めるディレクトリ(DocumentRoot外が望ましい)に手動で置いて
includ_pathを通す。
499 :
498 :2006/06/21(水) 21:37:25 ID:???
あ、ごめん。質問内容が違ってたね と言ってみる
マカは氏ね。
501 :
nobodyさん :2006/06/22(木) 14:12:58 ID:347Blei1
HTML_QuickFormでフォームの入力検証を行っているのですが
グループ要素の検証を行う時、
ttp://www.okushin.co.jp/information/HTML_QForm/10_addGroupRule/ ここを参考にaddGroupRuleで以下のように書いたのですが
これだとクライアントで検証を行ってくれません。
色々なところに「,"client"」などを色々挿入してみたのですが、どうもうまくいきません。
複合要素の配列を使った検証で、クライアント検証をさせるにはどのように書けばよいのでしょうか。
$form->addGroupRule("pay", array(
"money"=>array(
array("金額は必須入力です。","required"),
array("金額は数字のみで入力して下さい。","numeric")
)
));
502 :
nobodyさん :2006/06/22(木) 20:39:31 ID:5nFH6Fdq
PEAR にもよるけど、 単純にファイルコピーで使えたりするしね。
>>503 手動でコピー(展開)してパス通してたら使えないの有るの?
知ってるなら具体的に教えて。
なんかの参考になるかもしれんし
>>504 単純に外部ライブラリに頼るものじゃね
GD前提のモジュール(あるか知らないけれど)とかがあるとして
シェル使えなくてGDがレン鯖にも入ってなくて、
サポートもされないならそれは使えない
もちろんそれはPEAR自体の問題ではないけどね
pear installはできるのにpear list-allができん、今まで問題なかったのになんじゃこりゃ。 原因分かる方おしえてくだされ XML error at line 1, check URL Invalid return payload: enable debugging to examine incoming payload
pear list-upgrades してみるとか。
pear list -a は出る?
>>507 ,508
ありがとう、無事できました。
upgrade-allでupgradeできたと思ってたんだけど、list-upgradesしたらどれもアップグレードできてませんですた。
で、PEARとXML_RPCを個別で指定してアップグレードしたところchannelがなんたらかんたらと言われて、
それにしたがったところ動くようになりました。
PEAR::DB This package been superseded by MDB2 but is still maintained for bugs and security fixes MDB2 使うぐらいだったら、PDO の方が良いような…。
511 :
nobodyさん :2006/07/19(水) 02:41:49 ID:bvrYbrpe
自分で拡張しないとダメでしょ。自力で弄れないならver1.0まで待てば? 漏れなら単発で引いて、自分でマージ。
513 :
nobodyさん :2006/07/20(木) 14:43:10 ID:9HfxuTZk
PEARインストールし、PEAR::DBを試そうとしています。 マニュアルで見ると、なにごともDB.phpのインクルードから的な感じで 説明なくそうなってますけど自分の環境にはDB.phpがありません。(インストール失敗してる?) エラーもその旨出ます("DB.phpが見つからない") おききしたいのは、インストール時に「DB.php」というファイルが生成されるのか、 phpをインストールしたときのように、なにか別のファイルの名前を変更するなどして自分でつくるとか、 そのあたりどういった具合になるんでしょうか。 環境はWinXPのsp1、phpは5.1.4です。
>>513 どうやってインストールして、どのようにインストールが成功したと判断したの?
pear listで表示される?
表示されるなら、PEARのフォルダがinclude pathに含まれていないんじゃないかな?
515 :
513 :2006/07/20(木) 17:26:23 ID:???
>>514 ありがとうございます。
pear listではパッケージの一覧が表示されますし(すべて"安定"との表示)、
include_pathも確認済みです。
インストールはコマンドプロンプトから
http://go-pear.orgにアクセスしてインストールしました 。
その際にそれぞれのパッケージに対してダウンロードok,インストールokというような表示が逐一出まして、最後まで進んで終了しました。
最後に以下の警告が表示されました。
ひとつはWindowsの環境変数のパスが違っていると言うもの→PHPのマニュアルに従ってパスをC:\php\extにしていたが、警告を受けてC:\phpに戻しました。
それとphp.iniのinclude_pathに対してのもの→PEARへのパスを追記。
他に、phpフォルダ直下のPEAR_ENV.regをWindowsのレジストリに追加しておくと便利、という表示に従い、
意味はわかりませんでしたが実行しました。
何度かやり直し、今も確認してたんですが、やはりDB.phpというファイルはなく、
スクリプトの実行エラーもDB.phpが見つからない、という内容のままです・・・
>>515 一見問題なさそうだけど・・・。
インストールは普通コマンドプロンプトから
pear install パッケージ名
で良いですよ。
pear listで表示されるstableは安定版という意味で、β版やα版を
入れるときは pear config-set preferred_state beta なんてことをやってから
インストールします。予断ですが。
一度 pear uninstall DB でアンインストールして、再インストールして見てはどうでしょう?
それと確認ですがDB.phpは本当にどこにもありませんか?
HDDを検索してみてはいかがでしょう?
517 :
513 :2006/07/20(木) 18:46:05 ID:???
>>516 ありがとうございます!解決できました。
おしえていただいたアンインストールのコマンドを試してみたら
"インストールされてません"とのメッセージが・・・
その後pear install DBとしたところDB.phpも現われ、スクリプトも実行できました。
インストールされてればpear listでもちゃんと"DB"と表示されるんですね・・・
今まではPEARを使うための準備をしてただけなのに勘違いしてました・・・
PEARをインストールすれば主だったパッケージはインストールされてるものとばかり・・・(恥)
もう何日かごちゃごちゃやっていたので本当にたすかりましたm(_ _)m
>>517 うーむなんだかw
ま解決して何より。
もうひとつ豆知識として、モジュールには依存関係がある場合が
あるんだけど、依存するモジュールもまとめてインストールするときには
pear install --alldeps モジュール名
という書き方もできる。
また、インストール済みのモジュールは、
pear upgrade-all
で最新版(がリリースされてれば)に更新できる。
この2つくらいは覚えとき。
519 :
513 :2006/07/20(木) 22:11:04 ID:???
>>518 たびたびすいませんー。そのコマンドが心に沁みまする^^
いろいろ学んでいきたいと思ってます。
520 :
nobodyさん :2006/07/23(日) 04:35:31 ID:becjw5iF
横からすみません。 PEAR::Auth使ってるのですが、少し時間が空くとusernameが空になる現象に困っています。 $myAuth->username から $myAuth->getUsername()に変えても直りません。 お助けください><;;
$myAuth->getAuth()はtrueが帰って来ています。 30分ぐらい(?)他っておくと(アイドルにしておくと)起こるようです。 PHP5で最近pear install Authしました。
522 :
520 :2006/07/23(日) 04:56:36 ID:???
訂正します。 時間が空かなくても、ページ移動するごとにログインしている状態(getAuthがtrue)なのにusernameが空になっているようです...
523 :
nobodyさん :2006/07/24(月) 17:55:27 ID:WjQLi7Eq
HTML_Template_Flexy についての質問です。 自宅環境で正常に動作するスクリプトを作ったのですが、レン鯖にアップすると コンパイルが正常に行われません。 具体的には、HTMLタグが全て"Array"という文字になり、本来PHPコードに変換されるはずの{variable}等が 全く変換されず、そのまま出力されてしまいます。 PEARやHTML_Template_Flexy の再インストールもやってみましたが、変化ありません。 念のため php.ini の mbstring 関連の設定も揃えてみましたが、こちらも変化ありませんでした。 このような場合、どのような原因が考えられますでしょうか? チェックすべき項目などがありましたらご指摘お願いします。
自宅環境とレン鯖環境ぐらい晒したら? ちょっとチェック用のスクリプト作って動作チェックぐらいして無いの?
525 :
nobodyさん :2006/08/02(水) 03:18:27 ID:aylqqE98
すみませんが教えてください。 PEARのDBを使って、DB側で設定されたシーケンス値を インサート後に取得する方法ってありますでしょうか? PEARのマニュアルの警告には、シーケンスはDBMS側を使わずに、 PEARの中で管理しろと書いてあるのですが、 やっぱりDB側のシーケンスは使ってはだめなんですかね・・・?
>>525 INSERT 前に nextId() を使って、次のシーケンスを取得しておいて
それを INSERT して、その後参照する場面でもそのシーケンスを使いまわす。
>>526 やっぱりその手しかないのですよね。
ありがとうございました。
528 :
nobodyさん :2006/08/24(木) 23:34:20 ID:KkbLy53/
PEAR::DBに関しての質問なのですが、 $db->setFetchModeを「DB_FETCHMODE_ASSOC」に指定すると、 2つのテーブルで同じ名前の列がある場合、片方しかとれません。 たとえば、 create table t1 (id integer, data varchar(10)); create table t2 (id integer, data varchar(10)); とした時に、下のようなSELECTを実行します。 select t1.id, t1.data, t2.id, t2.data from t1, t2 where t1.id = t2.id すると、かえってくる連想配列の内容をprint_rでみると Array ( [id] => 1 [data] => data1 ) こんな内容が帰ってきます。FETCHモードが、「DB_FETCHMODE_ASSOC」の場合、 指定した列すべて取れないのでしょうか・・・?期待していたのは下のような結果なのですが。 Array ( [t1.id] => 1 [t1.data] => data1 [t2.id] => 1 [t2.data] => data2 ) ちなみに、PHPは4.3.11、PEAR::DBは1.7.6、DBはpostgreSQLでV8.xです。 ご存知の方、いらっしゃいましたら教えてください。よろしくお願いいたします。
>>528 t1.data AS t1_data, t2.data AS t2_data,
みたいにエイリアスで別々の名前つけてやって取得すればいけると思う
>>529 そのとおりでした。
ありがとうございました。
他スレに質問しましたが、PEARの話題はスレ違いだったのでこちらで、質問させて頂きます。 えろいひとがいましたら、おしえてくれたりしてください。 php4.3 redhatES4 apache1.3 mysql4.1 です。 PEARのDB_DataObjectで「UPDATE」するときの質問です。 DB_DataObjectのインクルードや設定ファイル読み込みが終わったとしします。 numが1のデータを探して年齢を変更するといった場合は $hoge=DB_DataObject::factory("hoges"); $hoge->get(num,1); $hoge->age = 15; $hoge->update(); でできるのですが、numが1で名前がyamadaのデータの年齢を変更するといった場合がうまくできません。 $hoge=DB_DataObject::factory("hoges"); $hoge->whereAdd('id = 1'); $hoge->whereAdd('name = yamada'); $hoge->age = 15; $hoge->update(); PEARのドキュメントをみても、複数絞込みのUPDATEの例がなくてこまっています。 直接SQL query()をなげるしかないのでしょうか。
>>531 DB_DataObject の update() は基本的にユニークキーを指定して行なうものだけど
そうでなく自前で WhereAdd() した条件で広範囲に update() する時には
引数に定数をつけて update(DB_DATAOBJECT_WHEREADD_ONLY) してやるとよろしい
533 :
531 :2006/09/09(土) 18:22:55 ID:???
どうもありがとです。 たったそれだけのことなのですね。 基本的に2つに一致する条件のものは1つのレコードだけなのですが まぁこのやりかたで解決しました。
解決おめ 蛇足だけど DB_DataObject は全体の傾向として テーブルに必ず int ひとつだけのユニークキーがあるようにしてあると 扱いやすいようにできている気がする 開発工期を短く済ませるために DB_DataObject で扱いやすいテーブル設計をするとか 邪道っぽいけどとても効果的だったりw
535 :
nobodyさん :2006/09/09(土) 19:34:57 ID:??? BE:340493748-2BP(200)
たしかに、設計としてはアレだけど全部のテーブルに"auto_id"みたいなauto_incrimentを作っとくと便利
537 :
nobodyさん :2006/09/17(日) 02:30:59 ID:BzsrnxFm
今度PEARを使うことになったんだけど、PHP5だと 動かないやつとかあるのかな? いまいち知らんけど、PHP4時代に作られたライブラリ だと、PHP5で非互換な部分のせいで動かなかったり するんかな。
そんな心配はPHP6になったらまた作り直すことに成るから心配しなくても良いよ。 PHP5時代の資産が未来永劫使える保証すらないから。
というけど今のPEARってほとんどPHP4で作られたものじゃないのか? PHP5で作られたものなんでMDB2みたいな不安定なものばかりだし
MDB2はPHP4ベースだし不安定でもない
541 :
531 :2006/10/01(日) 07:09:16 ID:Ge/0d2rj
以前質問したものです。またDB_DataObjectでつまづいてます。 php4.3 redhatES4 apache1.3 mysql4.1 です。 PEARのDB_DataObjectで「UPDATE」するときの質問です。 numが1のデータを探して年齢を+1するといった場合は $hoge=DB_DataObject::factory("hoges"); $hoge->get(num,1); $hoge->age += 1; $hoge->update(); でできるのですが、numが1で誕生日が1月のデータの年齢を+1するといった場合がうまくできません。 $hoge=DB_DataObject::factory("hoges"); $hoge->whereAdd('num = 1'); $hoge->whereAdd('birthday = 1'); $hoge->age += 1; $hoge->update(DB_DATAOBJECT_WHEREADD_ONLY); += のように加えたりする系の処理はDB_DATAOBJECT_WHEREADD_ONLYだと無理なのでしょうか。
テーブル設計ぐらい示せよ。何となく設計がタコだと思う。 SQL直書きならできそうだけどな。
543 :
531 :2006/10/01(日) 11:29:45 ID:Ge/0d2rj
すいません。実際はちがうのですが上述の質問は下記を想定しています。 MYSQL4.1です。 CREATE TABLE `hoges` ( `id` int(10) NOT NULL auto_increment, `num` int(10) NOT NULL default '0', `age` int(3) NOT NULL default '0', `birthday` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) TYPE=MyISAM;
544 :
531 :2006/10/01(日) 11:38:58 ID:Ge/0d2rj
`birthday` int(3) NOT NULL default '0', birthdayもとりあえずintegerで。
>>531 $hoge->age = DB_DataObject_Cast::sql('age + 1');
ってことかな?
上記だと joinAdd() とかした時にハマる危険性がないでもないが通常は問題なかろ
$hoge->age = DB_DataObject_Cast::sql($hoge->tableName().'.age + 1');
とかだと冗長だけどさらに確実
とか書いてるけど試してないから実験は自分でやってみてね
1レコード限定の更新じゃないUPDATEなら SQL直書きにしといた方が、他の人が見たときに ここは全体にかけるUPDATEなんだってわかりやすいと思うけどなあ O/R mapperはSQL書かずにDB扱うためだけのもんじゃないのに
そもそも「年齢」で管理しているのが良くないのでは? 普通は「生年月日」だね
「生年月日」をDBに持っといて 「年齢」は取得するSQLだのプログラムだのでその時決定する ってのがいいんでないかい パフォーマンス要求厳しい場合は別だけど……
549 :
531 :2006/10/03(火) 01:49:42 ID:???
アドバイスありがとうございます。 num、age等はサンプルです。実際にやる場合は547氏のいうとおり 生年月日のほうがよいでしょう。 質問の意図としては 「複数行をアップデートする」 かつ 「+=といった数値を加える」 処理を上記方法でできないか?というかんじでした。 聞き方が悪くて申し訳ありません。 とりあえず試した方法でやってみます。 最悪SQL直で。
うーん、例だと全然イメージ湧かないな。何をしたいの?
pearのインストールに躓いたので質問させてください。 Xdebugをインストールしようと思い、 cmdから# pecl install Xdebug を実行しました。 しかしエラーが表示され、 xdebugというフォルダが作成されるものの、 フォルダの中身は空っぽです。 設定を間違えているんでしょうか?
エラーメッセージは?
553 :
551 :2006/10/03(火) 22:55:42 ID:???
>>552 ERROR: The DSP xdebug.dsp does not exist
と表示されます
555 :
551 :2006/10/03(火) 23:43:31 ID:???
>>554 ありがとうございます。これを試してみます。
ところでコンパイル版のインストールってどうすればいいんでしょうか?
installコマンドしか試したことがなく、
検索してもみつからないもので・・・
557 :
551 :2006/10/04(水) 03:03:08 ID:???
>>556 ありがとうございます!
しかしいろいろ試してみた結果、
php5.1.6に対応したバージョンがないことに気づいてしまいました・・・
PEAR::Net_UserAgent_Mobileの画面取得て 対応してないような新機種の時は どうなるの?
対応するの待つか自分でデータ追加しちゃうの
まいっちゃう
PEAR::Authを利用したログインシステムを作ろうと考えているのですが、 ブラウザを一度閉じても、次回アクセス時までログインを維持して自動ログインできるような機能 (mixiの「次回から自動でログイン」と同じ機能)は使えないのでしょうか? $myAuth->setExpire(2000000); $myAuth->setIdle(2000000); とかやってみましたが、これではダメみたいですね。。。
562 :
561 :2006/10/14(土) 21:43:52 ID:???
すみません。その後調べていくうちに、サーバー側の設定が怪しいということがわかり、 php.iniを調べてみたら、session.cookie_lifetimeの値でいけました。 自己解決のスレ汚しすみません。
pearコマンドでインストールする際、インストール先のパスって指定出来ないの? スーパーユーザ権限が無いレンタルサーバなんだけど……。 自分でダウンロードしてホームディレクトリに書庫を展開するんじゃダメかな?
スクリプト内でインクルードパスを追加するといい
565 :
nobodyさん :2006/10/20(金) 10:20:50 ID:9mLjL02A
「IP,ユーザーエージェント等の環境変数を見て 検索エンジンクローラーかそうではない一般のユーザーかを 判別する」 といったクラスってPEARでありますでしょうかー。 色々調べたんですがみつからなくて。。。 あ。PEARじゃなくてもいいっす
Spreadsheet_Excel_Reader/Writer の情報を追っているうちに Excel_Reviser (既存のExcelファイルをテンプレートとして読み込んで値を書き換えられる) の存在を知ったんですが、ダウンロード先がNot Foundになってました。 作者の連絡手段もどこにも見つかりません。(過去ログにあるメルアドは届かなかったし) 誰か持っている方いませんか??
Spreadsheet_Excel_Writerでxls吐いてるとある程度の行数(っても30行やそこら)で Excelが「メモリ不足です」ってダイアログ出して開けなくなる。 やっぱりBIFF8は実用段階じゃないって事なんだろうな。 同じような症状出た人いる?
568 :
nobodyさん :2006/10/30(月) 17:42:07 ID:+kTSWHIU
どなたか xrea のサーバーに XML_sql2xml がインストールできた方いませんか? どういう依存関係にあるのかわからず、どれをインストールすればいいのかわからないでいます。 どなたかご教授願います。
>>568 今XML_sql2xmlのページ見たけど
Dependencies:
* PHP Extension: domxml
* PHP Version: PHP older than 5
PHP5以上でdomxmlが必要なだけみたいだが
570 :
nobodyさん :2006/10/30(月) 18:36:37 ID:+kTSWHIU
>>570 XML_sql2xmlがまだbetaだからじゃね?
自分で解決できなさそうだったら
サイトからtgz落としてinclude_pathにアップする方が早いよ
>>572 あー、じゃあやっぱりうちの環境の問題とかではないわけだなぁ。
となるとPerlで出力するとか検討しなきゃ駄目か。
そこだけPerlにすると色々共用できなくなって面倒なんだが
574 :
nobodyさん :2006/11/06(月) 23:55:00 ID:Z3fQNHJB
QFでQFCを使わずに 入力->確認->処理をしたくて hiddenでmodeを入れたんだけど 同じ名前だとfreezeで前の値になっちゃうっぽいんだけど 「この要素はフリーズしないで」みたいな命令ってある? QFCをつかうのも大げさかなとおもっただけなので hidden使わない方法でもいいです。 おしえてくだしあ
>>574 hidden で setConstants() とかそういう
>>575 ありがとうございます。
setConstantsも試したんですけど
使い方が間違ってました(汗
577 :
nobodyさん :2006/12/02(土) 22:00:57 ID:P18lXKYL
Win版5.2でpearのパッケージマネージャをインストールしようとgo-pear.batを実行したところ下記のエラーが出ました 対処法を伝授下さい。 Are you installing a system-wide PEAR or a local copy? (system|local) [system] : ここでEnter Below is a suggested file layout for your new PEAR installation. To change individual locations, type the number in front of the directory. Type 'all' to change all of them or simply press Enter to accept these locations. 1. Installation base ($prefix) : C:\php 2. Binaries directory : C:\php 3. PHP code directory ($php_dir) : C:\php\pear 4. Documentation directory : C:\php\pear\docs 5. Data directory : C:\php\pear\data 6. Tests directory : C:\php\pear\tests 7. Name of configuration file : C:\WINNT\pear.ini 8. Path to CLI php.exe : C:\php\. 1-8, 'all' or Enter to continue: ここでEnter Beginning install... Configuration written to C:\WINNT\pear.ini... Initialized registry... Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268
578 :
577 :2006/12/02(土) 22:01:31 ID:P18lXKYL
続き Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command.php on line 268 Preparing to install... installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar... installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar... installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar... Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338 Could not get contents of package "". Invalid tgz file. Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar', invalid or missing package file Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338 Could not get contents of package "". Invalid tgz file. Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar', invalid or missing package file Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2334
579 :
577 :2006/12/02(土) 22:02:02 ID:P18lXKYL
続き Warning: Cannot use a scalar value as an array in phar://go-pear.phar/Archive/Tar.php on line 2338 Could not get contents of package "". Invalid tgz file. Cannot initialize 'phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.11.tar', invalid or missing package file Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 427 Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/Command/Install.php on line 429 install failed 続行するには何かキーを押してください . . .
581 :
577 :2006/12/03(日) 02:10:04 ID:???
583 :
nobodyさん :2006/12/06(水) 12:14:28 ID:gLCC1tJk
PHP4.4.4 PEAR::Mailで smtp over sslなSMTPサーバを使ってメールを送りたいのですが ________________________ unable to connect to smtp server smtp.xxxx.xxx:465 ________________________ となってしまいます。 同じマシン同じ設定ででメーラーで送信することはできます。 コードは下記のようにしてるのですが、 何か足りないのでしょうか。 お知恵をお貸しください。 ______________________________________ //(略) $params = array(); $params['host'] = 'smtp.xxxx.xxx'; $params['port'] = 465; $params['auth'] = 'CRAM-MD5';//'DIGEST-MD5'や'LOGIN'や'PLAIN'もためしました $params['username'] = 'xxxx'; $params['password'] = 'xxxx'; $mail =& Mail::factory('smtp',$params); $res = $mail->send($to,$header,$body); if ( PEAR::isError($res) ) { echo $res->getMessage(); exit; } ______________________________________
class Auth における getAuth() メソッドと checkAuth() メソッドの 違いはなんでしょうか?
スパム防止で25番ポートが使えないのなら諦めるべき。
PEARのQuickformで詰まってまして解決方法あれば教えてください。 プルダウンメニューの場合DBから引っ張ってきたValueをみて Selectedされるのは確認したのですが、 DBの別テーブルからkeyで拾って表示させている場合、valueにはkey がセットされてしまいselectedされないようです。 うまくできる方法はないでしょうか。
587 :
nobodyさん :2006/12/10(日) 13:24:59 ID:u1GQNv5M
age
select だったらきちんと key => value がセットされて setDefault() では key で指定できるはずだが
>>586 が書いたコードを抜粋して晒してみ
589 :
nobodyさん :2006/12/10(日) 15:19:43 ID:u1GQNv5M
■tableA key name icon1 0 tanaka 2 1 tanaka 1 ■tableB autonum icon1 0 aaa 1 bbb 2 ccc tableA 田中さんをDBから引っ張ってきた時 JOIN tableB i1 ON p.icon1 = i1.autonum としているため ['userdata']["name"]=> string(6) "tanaka"、 ['userdata']["icon1"]=> string(3) "ccc" $form->setDefaults(array('icon1'=> $_SESSION['userdata']['icon1'])); テーブルBに登録されているデータをひっぱってきます。 $icon_array = db_get_field_data($conn);(中身:[0]=> string(3) "aaa" [1]=> string(3) "bbb" [2]=> string(3) "ccc") $form->addElement('select','icon1','名前',$icon_array); <select name="icon1"> <option value="0">aaa</option> <option value="1">bbb</option> <option value="2">ccc</option> </select>となり、selectedをとれません。 ためしにTableAの値のまま $icon_array2=array('aaa' => aaa,'bbb' => bbb,'ccc' => ccc); $form->addElement('select','icon1','名前',$icon_array2); この場合はselectedされました。当然ながらDB書き込み時に valueがcccといってしまうので当てはまる物がなく0で更新されてしまいます。 なんとなくつかめていただいたでしょうか。
icon1 って名前が数値(0〜2)だったり文字列('aaa'とか)だったりする場合があるのは QuickForm 云々以前にコードの見通しとかの面でも問題あると思う. SELECT する時に tableB.icon1 AS icon1_name みたいな感じで別名付けてやるとよかろう. そうすれば icon1 フィールドは tableA.icon1 が入るので $icon_array で select 作ってもきちんと setDefaults() が効くはず.
591 :
nobodyさん :2006/12/10(日) 17:07:19 ID:u1GQNv5M
んんん 今こんな感じです。 基本的な事を間違えてるのかな・・ 【profile_tbl】 [id][name1][name2][icon1][icon2][icon3] 0 nuko tan 1 2 0 1 oka hatirou 3 2 2 【icon_tbl】 [id][icontype] 0 aaa.gif 1 bbb.gif 2 ccc.gif 3 ddd.gif [クエリ] SELECT p.name1 as name1, p.name2 as name2, i1.icontype as icon1, i2.icontype as icon2, i3.icontype as icon3, FROM profile_tbl p JOIN icon_tbl i1 ON p.icon1 = i1.id JOIN icon_tbl i2 ON p.icon2 = i2.id JOIN icon_tbl i3 ON p.icon3 = i3.id [表示] nuko tan bbb.gif ccc.gif aaa.gif oka hatirou ddd.gif ccc.gif ccc.gif
592 :
nobodyさん :2006/12/10(日) 18:01:53 ID:u1GQNv5M
なんとかわかった気がします。phpの処理の中で値を使うとき profileから引っ張った際、$icon=$data['user']['icon1']で2が入るため <img src="$icon">が<img src="2">になるので、 リレーションつかってccc.gifをひっぱって表示させてました。 その辺が駄目だったのかもしれません。
>>592 そういうこと
そもそもの良くない点は「icon1」というひとつの名前が複数の意味を持ってしまっていることだと思うので
DB から SELECT する際に別名付けてやることで
違う意味のものには違う名前を付けてやると良い,って話やね.
同じ名前(icon1)のまま違う意味(コードだったりファイル名だったり)に使いたいからって
違う内容を入れて使うって発想はよろしくないので,
違う意味のものなら面倒でも違う名前を付けて使い分けるようにしないと.
あんまり関係ないけど、 Quickformってライブラリに使われてるって感じがするよねぇ。
595 :
sage :2006/12/12(火) 14:05:01 ID:???
Pagerでページ変更時に変数を保持したいんですが、可能でしょうか?
597 :
595 :2006/12/12(火) 15:09:53 ID:???
>>596 ありがとうございます。
$params = array(
'itemData' => $myData,
'perPage' => $perPage,
'delta' => 8,
'append' => true,
'clearIfVoid' => false,
'urlVar' => 'start',
'currentPage' => $start,
'useSessions' => true,
'closeSession' => true,
'mode' => 'Jumping',
'extraVars' => $num,
);
という感じで指定して、$numを使うために途中で
$nownum = $params['extraVars'];
別の変数に格納しました。
ですが、ページ変更後には$nownumが空になってしまいます。
urlには test.php?0=1&start=1という感じで$numは格納されています。
extraVarsから再利用はできないんでしょうか。
599 :
595 :2006/12/13(水) 09:52:06 ID:???
何度もすみません。 formでpostした$numを 'extraVars' => array('n' => $num), という感じでパラメータに置いて $_GET['num']で使おうとしていますが、 post直後はURIにもtest.php?n=1という風になりますが ページングされたページに飛ぶと変数を保持しておけません。
array('n' => $num) なら $_GET[ 'n' ] じゃないの? もしかして Pager とか以前に根本的なパラメタ渡しとかが理解できてない?
601 :
595 :2006/12/13(水) 11:52:52 ID:???
すみません自己解決しました。
if(isset($_POST['num'])){
$_SESSION['num']=$_POST['num'];
}
$num = isset($_SESSION['num']) ? $_SESSION['num']: "";
で、やりたいことが出来ました。
>>600 >array('n' => $num) なら $_GET[ 'n' ] じゃないの?
そうですよね。本来のコードから書き換えて投稿していたので
ミス入力してしまいました。
602 :
nobodyさん :2006/12/13(水) 20:36:35 ID:WrZMw5hy
PearDB使って他のサーバーで動いているOracleに接続したいのですがうまくいきません。 ・Web鯖 OS:WindowsXP httpd:Apache1.3.35 php:5.2.0 pearDB:最新 ・DB鯖 OS:CentOS Oracle:10.2.0 ・コード $this->db =& DB::connect( "oci8://ID:PASS@tcp(IP)/DBNAME" ); ・エラーメッセージ C:\Software\php\PEAR\DB\oci8.php:240 oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified phpの吐くエラーをみてるとDB鯖にコネクションできないって感じに思えるのですが…。 sqlplus使っての接続はWeb鯖マシンからできるので、Oracleの設定及びネットワークの問題はないと思います。 php側に外部のホストにつなぎに行く制限をする設定項目なんかがあるんでしょうか?
sage忘れスマソ
そもそもoci8っつー名前でOracle10サポートしてるかどうか微妙 DBよりMDB2の方がいいかも
>>602 hosts にSIDと鯖のIP登録してWin再起動してみ。
606 :
nobodyさん :2006/12/14(木) 22:39:50 ID:nK4PeE4Y
>>604 DB鯖の中で動いてるhttp鯖からは動くんでそれは問題ないかと思います。
下請けでPearDB指定なので…どうしてもダメなら検討します。
>>605 やってみます。環境が会社じゃないと無いので、明日やってみます。
ありがとうございます。
607 :
nobodyさん :2006/12/15(金) 18:47:01 ID:cnQJoip3
>>605 見事に接続できました!!
ありがとうございます。
よかったね。 なんで hostsに書かないと接続出来ないのか判らんが、いつもこれにハマる。 教えてエロイ人。
ウェブ鯖もリナックス(ユニックス)にしとけば良いのに。
なんか頭悪そうだなぁ…
リナクス使ってる時点で負けだよ。
プ、プ、プギャープギャプギャプ♪ \ ププププギャプギャププギャプギャ/ ♪ (^Д^) ♪ _m9 )>_ キュッキュ♪ /.◎。/◎。/| <(^Д^)> | ̄ ̄ ̄ ̄ ̄| | ヽ(^Д^)ノ ) ) | |/ ノ ノ (((( > ̄ > )))) <(^Д^)9m ((( < ̄< )))) ) ) ((( > ̄ > ))))
Tronが勝ち組
PEARて重くなるだけじゃん いわゆる手抜きでしょ バカじゃねーの しんでこい
がんばれや
軽くて使いやすいフレームワークって何?
まさかAPCも使わずに重いとか言ってるんじゃ無いだろうな?
APC 使ったぐらいで軽いとか言えるお前が羨ましいな
APC重い。足の上に落としたことあるよ(T_T)
えー!
小指ぶつけたことがあるな。
そういやそろそろバッテリ交換しないとなぁ……
623 :
nobodyさん :2006/12/19(火) 17:56:52 ID:G+HsmUGP
QuickFormのcheckboxのvalueってどのようにして設定すればいいのでしょうか?
>>623 「QuickFormのcheckboxのvalue」でぐぐる
pearってセッション管理が楽になったりはしないね。 諦めて他の方法使います。
PHPに最初から備わっているセッション管理機能ではダメ?
pear/PHPの下見たら、Session.phpが居ませんよ。orz
628 :
nobodyさん :2006/12/22(金) 12:39:04 ID:ujx0PyDC
結構簡単そうなことなんですけどググッても見つからないので助けてください QuickFormで'test'にデフォルトの値を渡したい時 例えば $form->addElement("text","hoge","コメント",array("size"=>80,"value"=>"デフォルトのコメント")); とやれば出来るのですが textareaのときは、どうするのでしょうか? textareaってvalueじゃなくタグの中身じゃないですか?<textarea>ここ</textarea> attributesで指定できるのでしょうか? お願いいたします。
>>628 addElementのあと、setValueでどう?
630 :
628 :2006/12/22(金) 14:17:26 ID:???
PEARのアーカイブを解凍してinclude_pathを通して使う場合 /include_path/ ┳ PEAR/ ディレクトリ以下全部 . ┣ PEAR.php . ┗ System.php 追加したいパッケージは解凍後 /include_path/ or /include_path/PEAR/ にブチ込む感じで大丈夫でsぢょうか?
>>631 include_pathの直下の方でOK
pear自体寄せ集めだからねえ。 それより自分でまともなスクリプト書いて、path通せば問題ない。 所詮、プログラムできないウェブデザイナ向けの釣り餌でしょ。
634 :
631 :2006/12/23(土) 02:14:55 ID:???
>>632 そーすか。ありがと。
とりあえず自分の使ってみた感じではweb interfaceが使えない以外には
これで問題ない気がするんですが、これでマズイというか問題になるような
点とかってありますかね?
インストーラを使うより解凍して設置してパス通して、の方が正直楽なような気がして。
635 :
631 :2006/12/23(土) 02:39:07 ID:???
>633 なるほど。 > 手動インストールを行うためには パッケージがどのようにして生成され、 > インストールの際にどのようなプロセスが 実行されるかについての詳しい > 理解が必要となるからです。 ってあったので気になったのですが、パスさえ通ってれば実行には問題なさそうですね。 ありがと。
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) ★☆チェ・ジウについて語るPart179☆★ [海外芸能人] 一時間阻止されなかったらキャラを持ち帰る 361人目 [ゲームキャラ] コンパクトフラッシュ(CF)は何処のが良い パート19 [デジカメ]
>>636 アマゾンさんには程遠い検索結果ですねw
がんばつてくらはい。
HTTP_Requestのタイムアウトバグってまだ直ってないの?
639 :
nobodyさん :2006/12/28(木) 01:12:27 ID:sdbBpoeX
641 :
nobodyさん :2006/12/28(木) 12:44:31 ID:s71HHmdJ
やっぱバグだったのかー。結局wgetに逃げたよ。。
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) ★☆チェ・ジウについて語るPart179☆★ [海外芸能人] 一時間阻止されなかったらキャラを持ち帰る 361人目 [ゲームキャラ] コンパクトフラッシュ(CF)は何処のが良い パート19 [デジカメ]
ミクシ以下って評価が嫌なFOX。
QuickForm_ControllerのActionProcessで最後に $page->controller->container(true); みたいにセッションをクリアすると、 submitを2回以上クリックした場合1ページ目が表示されちゃう・・・
646 :
nobodyさん :2006/12/29(金) 17:00:33 ID:2C2HG/T8
>>645 QFCの方はよくわからんけど
それむしろ正しい動作じゃね?
submit2回連続でそうなるのが嫌なら
javascriptでonsubmit時にdisabったりすればいいんじゃね?
確かに正しい動作だよね。 JavascriptはUAに依存するからあまり使いたくないす。 なにかいい方法はないものか・・・
>>648 依存性を吸収するライブラリ使えば実用上差ほど問題ないと思うが
pear upgrade-allが失敗してしまう。
>Javascriptをオフにしてる人もいると思うんで っていう言い訳よく聞くんで鵜呑みしてたけど、 Google Analytics使うようになって、そういう人が2%くらいだって 知ったので、なんか微妙…。切捨てちゃってもいいかなぁ…て最近思う。
>>652 わかってて切ってるやつがほとんどだから、noscriptで注意書き書いて切り捨てればいいだろ
>>652 仮に2%の人がjsを切っていたとしたら
一万人の会員がいるサイトの場合200人は意図しない動作をさせる可能性があるわけで。
もし1ページ目に戻されたユーザーがもう一度送信したら困るっしょ。
クレームの処理は金と時間がかかるから(ry
>>653 フォームに毎回noscriptで注意書き書くくらいならサーバーサイドで処理した方がスマートでは?
で、一応できました。
ページを一つ多くして最後のページの中から
$this->handle('process');
みたいにプロセスを呼び出せば最初のページに戻されない。
もっといい方法ないすかね・・・
jsが動かなくしてるブラウザを使ってる香具師も居るからねえ。 おまいのサイトでは2%でも世の中のサイトが2%とは言えない。
656 :
nobodyさん :2006/12/31(日) 23:56:13 ID:ZQTWDF0T
658 :
nobodyさん :2007/01/01(月) 06:05:26 ID:QzpvCD4L
pear upgrade-all すると Fatal error: Call to undefined method PEAR_PackageFile_v1::getProvidesExtension() in /usr/share/php/PEAR/Downloader/Package.php on line 963 って怒られるんですが・・・どうすりゃいいでしょうか? Debian GNU/Linux etch です。
659 :
658 :2007/01/01(月) 06:10:53 ID:QzpvCD4L
660 :
nobodyさん :2007/01/01(月) 06:13:32 ID:QzpvCD4L
ところで、PHP スクリプトを php script.php として実行した場合、 その戻り値はどうやってきめているのでしょうか?
661 :
660 :2007/01/01(月) 06:20:42 ID:???
exit(123) でいいんですね。
662 :
nobodyさん :2007/01/06(土) 16:31:13 ID:sgvu7Tt8
PEARの自動インストール環境って何かが大きく変わったのでしょうか? 欲しいパッケージがことごとくinstall failedになって、 list-allしたらWarningで「channel -update pear.php.net」しなさいみたいに言われた気がしたので 「pear channel -update pear.php.net」ってやったら 「Update of Channel "pear.php.net" succeeded」と成功したかの様な表示がされました。 でも、その昔「pear list-all」の結果を保存した時にはファイルサイズ40kくらいあったのに 今は17kで、MDB2_Driver_pgsqlとかXML/Parserとかが見当たらない…。 何がどーなったの?何をどうしたらいいの?(;;)
663 :
nobodyさん :2007/01/06(土) 16:47:56 ID:sgvu7Tt8
list-upgradesしたらArchive_Tar、Console_Getoptがupgrade可能と表示されました。 さっきlist-allした一覧を眺めていたら、 PEAR自体も新しいの(1.5.0RC2)が出ている様子(今1.4.11)。 その昔installしたArchive_Tar、MDB2、MDB2_Driver_mysql、XML_RPCは 一覧上ではLATESTのバージョン値が表示されていないの。 とりあえずPEARをupgradeしたら全て元通りになるのでしょうか?
664 :
660 :2007/01/06(土) 18:25:39 ID:???
Debian 使ってる俺もなんか変になった。 アップグレード対象になっているパッケージを 落ち着いてひとつひとつ指定してアップグレードしたら 正常になったっぽい。
665 :
nobodyさん :2007/01/06(土) 22:48:10 ID:sgvu7Tt8
tgz落としてきて半自動インストールで対処できました。 list-allしたリストにも追加されてるし、 完全自動インストールしたのと変わらない?っぽい状態になったのでいいかな、と^^; お騒がせしましたm(_ _)m
666 :
nobodyさん :2007/01/10(水) 23:24:01 ID:MZg1Wlme
ちょっと質問させてください。 今、生まれて初めてQuickFormを使ってるんだけど、 レンダラ(HTML_QuickForm_Renderer_Default)を用いてHTMLタグをカスタマイズする際って デフォルトの出力HTMLテンプレートを丸ごと書き換えるしかないの? 固定テキスト(static)の文字色を赤にしたいだけなんだけど 「赤にするタグを追加」みたいな加えていくとかできなくて、 デフォルトのHTMLコードを全部手打ちした上で赤にするタグを追加する、でFAでつか?
Defaultレンダラならそうじゃないかな だからArrayレンダラなりArrarSmartyレンダラなり 使うのが常套手段じゃないかな
668 :
666 :2007/01/11(木) 12:25:16 ID:???
ご返答ありがとうございます。
まずは基本・・って事で参考にしている書籍にならってDefaultレンダラを使い始めましたが
Arrayレンダラ等なら望みが叶うって事なのですね。
Arrayレンダラ等については書籍には書いてなかったのでマニュアルをあたってみます。
ども。
>>666 自己レスですが、\PEAR\HTML\QuickForm\Renderer\Default.phpを開いて
該当HTMLタグをコピペすればさほど手間ではなかったです。
MDB2(MySQL)についてなんですが DBパッケージでいうプレイスホルダ的な事はできないんですかね? このように(↓)書いてみたのですが、 $sql="INSERT INTO `user` (user_account, user_password, user_mail) VALUES (?,!,?)"; $affected =& $mdb2->exec($sql, array('$tmp_account', '$tmp_pass', '$tmp_mail')); if(MDB2::isError($affected)) die('失敗:'.$affected->getDebugInfo()); (※元ソースは長いので要素の数とかを適当に省きました) こんな(↓)エラーメッセージが返ってきてしまいますorz Error message: Could not execute statement Native message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,!,?)' at line 1 syntaxがどうのこうのって書いてあるので、このやり方はダメないのかなと・・・ ちなみにプレイスホルダ使わないで書いた方では正常に動作してます。 よろしくお願いします。
670 :
nobodyさん :2007/01/12(金) 17:36:36 ID:2nrbZFx0
すいません、PEAR Mail_Queueの質問です。ご存知の方がいれば教えてください。
Postgresqlにてmail_queue、mail_queue_seqテーブルを作成して、キューを追加しようとしてる
のですが、下記のようなエラーが出てしまいます。
$result=$queue->put("
[email protected] ","
[email protected] ",$headers,$body);
Mail Queue Error: unknown error [userinfo] => Cannot create id in: mail_queue
- FILE: /usr/share/pear/Mail/Queue/Container/db.php, LINE: 192
idが生成できないよといっているようなのですが。PostgresにてMail_Queueって難しい
のでしょうか?ご存知の方がいれば教えてください。
標準のMySQL関連の関数よりも便利?
673 :
669 :2007/01/13(土) 14:01:31 ID:???
おぉ!プリペアドステートメント! 参考にしてるDBレイヤの解説ではプレイスホルダとは分けて説明されてたのでスルーしてた(汗 このプリペアド経由のプレイスホルダも内部でエスケープ処理されるのかな。 早速試してみようと思います。 ありがとうございました。助かりました。
674 :
551 :2007/01/13(土) 20:07:08 ID:???
HTML_QuickFormの ”日付のセレクトボックスの生成” dateフォーム使ってる人います? 年しか初期値設定できなくて微妙なんだけど・・・ setDefaultsで無理やり設定する方法とかありませんか?
>>674 setDefaultsでdateエレメントの初期値にY,m,dみたいなキーの配列で設定できるはず
UNIXタイムスタンプでもおk
676 :
551 :2007/01/14(日) 17:44:09 ID:???
>>675 ありがとうございます!
dateは便利でどうしても使いたかったので
助かりました!
PHP の拡張って Windows 上では開発できないんだろうか。 いま Linux 上で phpize などを使って拡張を作ってるんだけど、 Windows 上の PHP で使えるバイナリくれといわれて途方に暮れる。 Windows には phpize も autoconf も m4 もないし・・ Cygwin で作るの?
678 :
nobodyさん :2007/01/16(火) 06:46:23 ID:zR0oRC8J
679 :
nobodyさん :2007/01/18(木) 01:48:09 ID:3ixzqDHl
すいません、ちょっとお知恵をお借りしたいのですが。。。 HTTP_Clientにて $client =& new HTTP_Client(); $client->get($url); $response = $client->currentResponse(); こんな感じで、指定URLでのレスポンスが取得出来ると思うのですが 取得した先のURLを得ることは可能でしょうか?
680 :
nobodyさん :2007/01/18(木) 02:08:14 ID:7qn+G2a8
echo $url;
PEAR DBについてなんですがデータベースへの接続に失敗します echo "1"; $this->db = DB::connect($dsn); echo "2"; if(DB::isError($this->db)){ $this->error = $this->db->getMessage(); return false; } とかやっても 2 が出る前に死んでしまって何も表示されません どんな原因が考えられるでしょうか?詳しい方ご教授お願いします
>>681 ・$dsnが通ってない
・$this->db=&DB::connect($dsn);じゃない?
683 :
679 :2007/01/18(木) 11:15:02 ID:???
>>680 さん
すいません、説明が足りませんでした。
$urlに入ったURLで別のページにリダイレクトされるのです。
そのリダイレクト先のURLを取得したいなと思っています。
リダイレクト先のBODYは取得できるのですが。。。
>>683 http header でリダイレクトされるんなら $response['headers']の中に入ってんじゃね?
metaタグなら$response['body'] の中を探すしかないだろうね。
PEAR:Authを使って、ユーザ認証させようとしています。 ストレージドライバがDBの場合は、問題なくできていました。 が、今回、Fileを使う必要がで出てきたんですが、これがうまくできません。 $params = array("type"=>'Cvs',"file" => "/hoge/hoge/passwd.txt"); $mymyAUTH = new Auth( "File", $params, "myLOGIN" ); $mymyAUTH->start(); $loginStatus = $mymyAUTH->getAuth(); としてるんですが、AUTH_WRONG_LOGINが戻ってきます。 passwd.txtの中身は、File_Passwdにあったデフォルト、 ユーザ,パスワード にしてます。 パスワードは、md5ではダメで、 File_Passwd_Cvs::generatePassword( $_POST[ 'passwd' ] ); でもダメでした。。 ぐぐっても、AuthはDBについての情報は多いけど、Fileの情報は見つけきれま せんでした。
username,password って、 その形式は CVS ではなくて CSV ではなかろうか。 書式を直すか、type'=>'Cvs' の代わりに Authbasic、Authdigest、Custom、Smb、Unix のどれかを使ってみたら? どのみち書式もそれに合わせる必要があるけど。
>>685 か、か、解決しますた!!
$mymyAUTH = new Auth( "File", $auth_params );
$res = $mymyAUTH->addUser( $_POST[ 'user' ], $_POST[ 'passwd' ] );
で、ユーザー登録したら、認証できた。
ということでお騒がせしますた。
カンマセパレートバリュー。
689 :
nobodyさん :2007/01/24(水) 21:46:52 ID:cqEVnQIF
age
690 :
nobodyさん :2007/01/25(木) 13:17:04 ID:diFouhBc
PEARってなんで大文字なんだよ! ホントうんこすぎ pearのライブラリをディレクトリに移動しようとしたら小文字のファイルにリネームしちまうし、 php.iniはみにくいし、そこでのincludepathも大文字小文字間違って書き直しだし もう氏ねやうんこ言語
ファイル名のケースを区別するかどうかなんて PEARやPHPどころかOSの問題じゃん これをプログラム言語のせいにしてる奴とかもう呆れる他ないな
GDをラップしたライブラリってないの? GDいじるの結構面倒くさい(><)
>>693 いや・・・あの・・・
まっいいか・・・
>>693 PEAR行ってImage_ってプレフィックスがつくパッケージ当たってみ
はやくかけや。 こまってんだよ!
697 :
nobodyさん :2007/01/26(金) 13:24:07 ID:PVZRthFQ
はじめてPEARを使おうと思っているんですけども、 レンタルサーバでも使えるのでしょうか? インストールされてなければ無理なのかな・・? それと、ダウンロードしてきたファイルの使い方がわかりません。 Image-Graphというのが使いたかったのでダウンロードし、解凍したところ、 Image-Graph-0.7.2というファイルがでてきました。 これはいったいどうすればいいのでしょうか?
>>697 PEARはPHPで書かれてるから適当なバージョンのPHPが動くサーバなら使える。
依存関係とか自分で解決してやらなきゃならないが。
Image_Graphだと
Image_Canvas
Image_Color
Extension gd
が必要。
全部そろえばincludeとかrequireすることで使える。
701 :
nobodyさん :2007/01/30(火) 11:27:14 ID:We8vUN44
pearのインストールをしようとgo-pear.batを起動しましたが何も表示されず何度かEnterキーを押すと 「PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/ Command.php on line 268」 のような表示がたくさん出てインストールが完了できませんと表示されます。どうやったら改善されるのでしょうか?超初心者ですのでわかりやすく説明くださると大変ありがたいです。よろしくお願いします。 PHPは5.2.0を使ってます。
>>701 自分で超初心者とか言うアホにPEARは100年早い。
「俺は超初心者だから、調べるの面倒だし、お前ら!丁寧に分かりやすく解決方法を教えろ!」
って言ってるのか?死ねよ!カス
703 :
nobodyさん :2007/01/30(火) 11:59:16 ID:We8vUN44
>>702 「超初心者ですのでわかりやすく説明くださると大変ありがたいです。」そういう言い方をしましたので
>>702 さんのような捕らえ方をされても仕方ないかもしれません。
ですが昨日から解決方法を調べましたが未だに解決できずにいます。ですので救いの手をいただければと思いますのでどうかよろしくお願いします。
706 :
nobodyさん :2007/01/30(火) 22:37:40 ID:bW5fYcLi
PEAR :: DB のパッケージをインストールしたのですが 「tests」というディレクトリがありました。 これは動作に必要なのでしょうか? 必要ないのであれば消したいのですが。そもそも消す必要もありませんかねぇ。 よろしくお願いします。
>>706 何故、消そうと思うのだ?
別にあってもよくないか?
708 :
nobodyさん :2007/01/30(火) 22:47:55 ID:bW5fYcLi
>>707 そうですね。
そのまんまにしておきます。ありがとうございました。
必要ないから消してもOK
虫垂だの農家の四男坊なんてのはやたらに切るもんじゃないだろう
711 :
nobodyさん :2007/02/01(木) 12:15:21 ID:PAIOYH/b
712 :
nobodyさん :2007/02/06(火) 15:58:18 ID:rVKmLMVv
もう1日かけて調べたり試行錯誤したけど、全然うまくいきません。
環境:
OS WindowsXP Home
鯖 anhttpd 142p
PHP 5.2.0(cgiの方使ってます)
ソース:
<?
require_once "HTTP\\Request.php";
$req =& new HTTP_Request("
http://yahoo.co.jp/ ");
if (!PEAR::isError($req->sendRequest())) {
echo $req->getResponseBody();
}
?>
結果:
Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47
Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:/httpd142p/php5/PEAR/') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47
INIファイルの該当箇所の設定:
; Windows: "\path1;\path2"
include_path = ".;C:/httpd142p/php5/PEAR/"
該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
もう疲れて吐きそうです。。。
>>712 ディレクトリセパレータでは?
include_path = ".;C:\httpd142p\php5\PEAR"
"/" を "\" に変えてやってみました。。。 Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:\httpd142p\php5\PEAR\') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 ふぅ〜。。どうしたもんですかね
require_once 'Net/Socket.php'; これ一行だけのソースでもNo such 〜になる? C:\httpd142p\php5\PEAR\Net でアドレスバー叩いてちゃんとSocket.phpはあるかい?
あー Socket.phpありませんでした。。。 Socket.phpとURL.phpダウンして入れたところ正常に動きました。 ふぅ〜。ありがとうございましたm(_ _)m。
>該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
718 :
nobodyさん :2007/02/06(火) 17:54:04 ID:NJuIco/q
if ( $_SERVER["REQUEST_METHOD"] != "POST" ) { exit( "不正なリクエストでおじゃる" ); } $hoge = $_POST["hoge"] ? $_POST["hoge"] : ""; こういうソースがあったのですが、リクエストのメソッドを調べる 意味ってあるのですか? 万が一、引数が GET で渡されてたとしても、それが $_POST に代入される ということがありえるのでしょうか。
ねーよww
むかーーーしのバージョンのPHPで GET引数に "GLOBALS[_POST][hoge]" とかそんな感じで 外から $_POST に値を入れられちゃう糞バグがあったような気がしんぐ
721 :
718 :2007/02/06(火) 21:33:11 ID:NJuIco/q
722 :
718 :2007/02/06(火) 21:36:03 ID:NJuIco/q
>>720 そうだったのですか。
もうちょっと調べてみます。ありがとうございました。
723 :
nobodyさん :2007/02/14(水) 07:44:29 ID:HWr8LnC4
質問です。 今html_ajaxでいろいろやってるのですが、 html_ajaxでプロキシアクセスをしてる場合のpostで通信してるのですか?getですか? access_logをみてみると、両方のような気がするのですが。 またpostの場合、sessionでの接続ができますか?どのようにsidを送るのでしょうか? よろしくお願いいたします。
724 :
nobodyさん :2007/02/14(水) 16:20:33 ID:pTwqj5vm
pearのアンインストール方法を教えてね。
まず、どのようにインストールしたかかけや
726 :
nobodyさん :2007/02/15(木) 02:10:56 ID:202bzPy7
go-pear.orgからインストールしたのよ。
727 :
nobodyさん :2007/02/15(木) 17:56:46 ID:kYaagmVU
おまえらどんなPEAR使ってるか教えろ。
インフラとして必要で、実用的で、枯れてて、 誰でもすぐに馴染める使いやすいパッケージは ・PHPUnit ・PhpDocumentor ・PEAR ・MDB2(+Driver) ・HTTP_Request ・Cache_Lite ・Log ・Mail あたりとか? もうPHP4でしか使う機会がないな PHP5でいいならフレームワークに付属ので間に合わすか、 ZFのライブラリを使う
Pagerも結構よいよ
730 :
nobodyさん :2007/02/15(木) 21:50:13 ID:l05otmqr
まだHTTP_Requestしか使ったことないや。
Cache_Liteはめちゃくちゃ重宝する。
HTML_QuickFormで確認ページって出せますか? 入力→確認→登録みたいな感じです。 出せる場合はどのようにしたら良いのでしょうか、、?
freeze使え
確認画面用に freeze() 使う時は hidden 要素に setPersistantFreeze(true) も忘れないように
735 :
732 :2007/02/21(水) 05:59:51 ID:???
>733,734 やってみる!ありがとう。
736 :
nobodyさん :2007/02/22(木) 14:28:49 ID:3Rwtxk4J
PEAR のコーディング規約って、 Java でよく使われているもののほぼコピー?
PHPUnit PEARから外れちゃったんだよなぁ。 PHP4でFirebirdのある限り DBを使いつづける選択肢しかないんだよなぁ。
738 :
nobodyさん :2007/02/22(木) 22:53:30 ID:Ua9elyJa
739 :
nobodyさん :2007/02/23(金) 23:08:52 ID:yQax9a0k
無駄なものを覚えるとかえって時間がかかる 何を学ぶかの取捨選択が大事だと思います HTML_QuickFormのほかに、これには手を出すなというのはありますか?
>>739 HTML_QuickForm_Controller/DB/DB_DataObject/Auth/Auth_HTTP/Cache_Lite
このくらいかな…
741 :
nobodyさん :2007/02/24(土) 05:53:48 ID:UYU7E5V9
Authについて質問です。 MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという 単純な認証を試しに作ってみたのですが、どうも巧く行きません。 具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。 どなたか、アドバイスをください。 以下、ソースコードです。
742 :
これらは、全て同じ階層のフォルダに入ってます :2007/02/24(土) 05:57:38 ID:UYU7E5V9
//MyAuth.php <?php $documentroot=dirname(__FILE__) . '/'; require_once($documentroot . 'config.php'); require_once ('Auth/Auth.php'); function loginFunction ($usr,$status){ switch($status){ case AUTH_IDLED : case AUTH_EXPIRED : $err='ログイン期限が切れています。再ログインしてください';break; case AUTH_WRONG_LOGIN : $err='メールアドレス/パスワードが間違っています';break; default: print ("default"); } require_once('login.php'); } $params=array( 'dsn'=> _DSN, 'table'=>'member_table', 'usernamecol'=>'userxxxx', 'passwordcol'=>'password', 'cryptType' => 'MD5', 'db_fields'=>'*'); $myAuth=new Auth('DB', $params, 'loginFunction'); $myAuth->start(); if(!$myAuth->getAuth()){ exit(); } ?>
743 :
これらは、全て同じ階層のフォルダに入ってます :2007/02/24(土) 05:59:12 ID:UYU7E5V9
//login.php <html><head><title>ログインページ</title></head> <body> <form method =" POST" action ="<?php print ($_SERVER ['PHP_SELF']) ?>" > <table border="0"> <tr><th alight="right">メールアドレス</th> <td><input type="text" name="username" size="30" maxlength="50" /></td></tr> <tr><th alight="right">パスワード</th> <td><input type="password" name="password" size="30" maxlength="50" /></td></tr> <tr><td colspan="2"><input type="submit" value="ログイン" /></td></tr> </table> <font color="Red"><?php print($err); ?> </font> </form></body></html> //config.php <?php define("_DB_USER", "db_user"); define("_DB_PASS", "pass"); define("_DB_HOST", "localhost"); define("_DB_NAME", "db"); define("_DB_TYPE", "mysql"); define("_DSN", _DB_TYPE . '://' . _DB_USER . ':' . _DB_PASS . '@' . _DB_HOST . '/' . _DB_NAME); ?> 以上です。長々とスミマセン。
>>741 PHPの質問スレ行った方がいいんじゃね?
>>744 おっしゃる通りですね。
PHPの下質のスレに行きます。
お目汚し失礼しました。
746 :
nobodyさん :2007/02/28(水) 08:54:35 ID:ZY+YimwX
SQLビルダーが欲しくて色々さがしてます。 DB_DataObjectがよさげだとおもって、ちょっと読んで 軽く使ってみたのですが これってSQLだけgetすることは出来ないのでしょうか? 接続にはDBとかMDBは遅いのでPDOを使いたいのですけど・・・ 良いのありませんかね? dinolibっていうのも使ってみたけど、古いし、イマイチ。 DB_DataObjectはマジで便利そうなんだけど・・・
流れはORマッパーなので。
>>746 おれも以前に似たような要求で色々と調べたけど
"_" から始まる名前の(PEAR規約で private 扱いの)メソッドやら変数やらをアレコレしないと
生 SQL のみを取得することはできなかったっす
749 :
745 :2007/02/28(水) 21:39:38 ID:???
ソース見たら出来なさそうですね。 SQL生成から実行まで、一つのメソッドでやってた。 あれを改造しちゃうか・・・ DBかMDB2を使うか 他のSQLビルダを探すか 自分で作っちゃうか とりあえずここ過疎化してるので PHP版に移住します。お騒がせしました。
750 :
745 :2007/02/28(水) 23:20:38 ID:ZY+YimwX
>>748 すいません。板のURLが変わってたんですね
2chブラウザ使ってるのでレスが付いてないのかと思っちゃいました。
SQLビルダ作るかな〜
DB_DataObjectはORマッパであってSQLビルダでない件に関して
752 :
745 :2007/03/01(木) 10:39:52 ID:vEHHBeZ0
>>751 純粋にクエリーを発行して配列にオブジェクトを格納するところまでの時間を計測したんですけど
PDO::FETCH_CLASSとかpg_fetch_object(postgresqlなら)を使うと
シチュエーションによっては10倍近い速さなんですよね。
だからSQLビルダだけ使えないかと思ったわけでして。
ただ、取得するデータ件数が少ないと、速度差はごくわずかなので
LIMITで絞ってページングすればほとんど変わらない気もするし・・・
DB_DataObject使うとSQLインジェクションとかプレイスフォルダ使わなくて
ばっちり対策済みなんでしょうか?
もうちょっと色々試してみます・・・
すごい良く出来てると思うので、気になるのは速度だけなんだよな〜
今更DB_DataObjectもないだろう PHP4しか使えませんな環境ならしょうがないかもしれんが 最近のフレームワークのO/Rマッパの実装を調べた方がいいと思うよ ZFやsymfonyで使ってるpropelとかもPDOのアダプタが用意されてるだろう SQLビルダならPEARにもDB_QueryToolとかあるけど SQLビルダっつー仕組み自体が古いというかいけてないと思う 基本O/RマッパでシンプルなDBアクセスは SQLなんて一切気にすることなく操作できて 3つも4つもJOINするような複雑なクエリになる場合は SQL書いて取得するっていうスタイルが今の流れで それは理にかなってると思う 実際WEBアプリで必要になるSQLなんてのは 大抵の場合7〜8割方定型でシンプルなクエリだから 複雑なSQLはビルダで組み立てなくても直で書けばいい ビルダでどうやって複雑なSQLを組み立てるか考えるのは本末転倒 オレオレO/Rマッパ書くためにSQL組み立てる層を書くのが面倒だから SQLビルダだけ欲しいみたいな感覚ならまあわかるが INSERT/UPDATE/DELETEは割と簡単に書けるし SELECTはZFのZend_Db_Selectあたりを参考にするといいんじゃない
>>753 あなたの言っている全ての機能はDB_DataObjectにも実装されていますが?
それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。
それこそ、自己満足の時代に逆境したプログラミングでしかない。
じゃあDB_DataObject使えばいいじゃんw
PEAR::DB が遅いってのは抽象化インタフェースなんだからある程度は仕方ないと思うが pdo がいいなら PEAR::DB とインタフェース互換で pdo 直接叩くようなのを書けばいいんじゃないかな てか書いたら公開してくれw
>>754 別にDB_DataObjectが機能不足だなんて書いてないし
俺もDBやDB_DataObjectを経て来た上で書いている
あとZend_Dbやpropelにフレームワーク固有のコードとかない
それぞれ独立したライブラリとして作られている
てかDB扱うライブラリに普通FW固有のコードなんて書かない
もうちょっと色んなライブラリ見渡してみてもいいと思うよ
>それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。 フレームワークをなんだと思ってるんだ?
DBからMDB2に移ろうとしているんですが、 MDB2って、なんかDBに比べて不便になってる 気がするんですが、気のせいでしょうか? insertやupdateの手順がまんどくさくなってるよな。。。
Html_QuickFormでprocess()を2回使用しようとするとエラーになります。 Fatal error: Cannot redeclare callback1() (previously declared in c:\path\file.php:100) 以下のようにしたい場合はどうすればいいでしょうか? if($objForm->validate()){ $objForm->process('callback1'); $objForm->process('callback2'); }
単にcallback1()を2回定義しちゃってるだけじゃないの?
762 :
760 :2007/03/08(木) 14:00:23 ID:???
>761 仰る通りでした。ありがとうございました。 補足としては、実はと言っては怒られそうではありますが、 クラス内にprocess()を呼び出すメソッドを作り、その中にコールバック関数を定義しておりました。 このような感じ。 class Form extends HTML_QuickForm{ function actProcess($callbackFuncName){ function callbackFunc1(){...} function callbackFunc2(){...} return $this->process($callbackFuncName, false); } } ですので、actProcess()を2回目に呼び出すと、 callbackFunc1(),callbackFunc2()がもう一度定義されエラーになっていた模様です。 調べたところ、コールバック関数をprocess()呼び出しのメソッド外に置き、 process()の第一引数をarray(&$this, 'callbackFuncName')のようにすると良い事が分かりました。 以下のような感じ。 class Form extends HTML_QuickForm{ function actProcess($callbackFuncName) { return $this->process(array(&$this, $callbackFuncName), false); } function callbackFunc1(){...} function callbackFunc2(){...} }
RedHatES上のPHP-4.3.2で $pear upgrade PEAR をやったら PEAR 1.5.1 stable に無事アップデートできたみたいなんですが、良く見ると /usr/bin/pear が無くなってしまった様です。 /usr/share/pear/pearcmd.php を直接実行しようとしてもエラーが出て、中身を見てみると <?php // // +----------------------------------------------------------------------+ // | PHP Version 5 | // +----------------------------------------------------------------------+ //....' になっています。 一旦phpを再インストールするしか復旧する方法は無いでしょうか?
今俺も試しにアップグレードしてみたが特に問題ないな whichとfindで探しても全くでてこない?
Html_QuickFormのselectあります。 これにmultiple属性を設定するにはどんな書式にすればいいんでしょうか? $QuickForm->addElement('select',); みたいな書式でできるんでしょうか・・・?
766 :
763 :2007/03/09(金) 19:18:19 ID:???
>>764 取り合えず、同一構成の別サーバからpearコマンドとpearディレクトリごと持ってきて入れ替えたら
$pear list
INSTALLED PACKAGES:
===================
....
PEAR 1.1 stable
....
となっていて、ここから再度アップグレードして見ました
$sudo pear upgrade PEAR
downloading PEAR-1.5.1.tgz ...
...done: 290,252 bytes
upgrade ok: PEAR 1.5.1
$pear list
pear: Command not found.
Exit 1
で、
$find / -name "pear"
してもコマンドは見つからないですね・・・家の環境だけなのか?
pearディレクトリ毎持ってきたりして入れ替えたら そりゃ消えようがしゃあないな アップグレード時にbinにコピーできなかったとか go-pearでPEARだけ入れ直したらいいんじゃね
>>767 おお、go-pearなんて便利なものが・・・
これで無事再インストール出来ました。
769 :
nobodyさん :2007/03/09(金) 23:08:13 ID:bGciLmRc
Windowsの話?
PEAR::Auth を便利に使っています。 別の場所で別の人が同じ ID/PW でログインできますが、 これを拒否する方法はどういうものがあるでしょうか。 ( 後からログインした人を拒否できると嬉しいです )
ログインユーザをセッションIDと一緒に、DBなりファイルに書き出しとけばいいんじゃないの。 同一ユーザ名ログインの時には、それに対応するセッションIDが残ってるかどうかチェックして なきゃそれでOK。 でも同一ユーザ名・パスワードの複数保持なんていうのがそもそもセキュリティ的にラフすぎ。
>>772 ありがとうございます。
何かの拍子に ID/PW が漏れた場合、
同時にアクセスされたら漏洩発覚!としたかったんです。
どうやってログアウトをシステム側で察知するかだな。 操作ミスなり回線不良なりでCookieあぼーんすると 直ぐにログインできないってことになる。
つかブラウザ二個起動した時点で終了
分かった
やっぱり難しいさね。
ストリーミングサイトだったら通信継続してるから
感知して第二ユーザはキック出来るけど、そうじゃなきゃ
>>775 のような
ケースでクレーム来るほうが怖いからなあ。
ログイン画面で固定のキーを与えるのどうだろう。
トークン使う
明示的なログアウト送信がない限り全部一緒の問題を抱える
まあセッションクッキーのexpire時間を金融サイトみたいに10分とか短く設定しておいて、 10分以内に通信無きゃ強制ログアウトっていうのが許されるサイトなら問題が少なくなる。 最大10分の再ログインラグが出るけどね。
昔やったサイトというかWebアプリでは ・ユーザは出来るだけ明示的にログアウトするようお願いする ・メインウィンドウがクローズされる時にログアウトのURLを叩くJavaScriptを仕込んでおく ・最終アクセスを全ユーザの全アクションで記録しておいて、ログアウトなしのユーザがログインしようとしたら最終アクセスが10分以内の場合は弾く イントラ用のアプリケーションだったから負荷とかも考慮した上でここまでやったけど 一般向けのWebサイトじゃどこまでやるかは難しい判断だろうなぁ
>>787 それは、パスワード漏洩時の対策にはならんのではないか。
まあそもそもの話として同時アクセス=漏洩なのかというか、常時使うシステムでもない限り使う時間がぶつかることがあるのか疑問。
漏洩するとしたら、内部からユーザ情報持ちだしとか、パソコンに付箋紙貼ってある時だと思うんだが、
したら不正利用する人が夜中とかに使えばまあ、システム上はほとんど不正利用にならないだろうし。
>>788 ログアウトするようにお願いするったって
不特定多数のコンピュータリテラシーがまちまちなユーザじゃ無理。
メインウィンドウをクローズしないかもしれないし。
夢を見すぎじゃないかと。
ユーザに過去のログイン・ログアウト情報を提示して、変だったら通報してもらうほうがいいんじゃねえの。
過去にどういう行動をしたのか知ってるのは本人しかいないわけだし。
>>789 世の中には「テメエにしか分からないこと」を
自動的に論理矛盾なくプログラム側で判断しろ、
という輩もいるわけでwww
生体認証かな
>>789 お願いするだけじゃ無理なのが解ってるから2番目・3番目の仕組を入れてるわけで
無理じゃなけりゃJavaScriptだの全アクセス記録だの不要だろw
あと「イントラ用」って書いたんで不特定多数ではない時の話だってのも読み取ってほしいところ
>>791 ログインには使えるけどログアウトしてくれるかどうかは別問題だねそれはw
PCの不意のハングアップまで考慮しようとすると
それこそJavaScriptか何かでサーバとハートビート交換しまくって
途切れたらログアウト処理にするとかまでやらないと難しいだろうなぁ
>>792 目的が漏洩対策ならいいんじゃない?<生体認証
>>792 と言われても、話の元の人はイントラ用とは言ってないわけだし、実際採用されたらどうかなあと思うわけで。
結局のところ、普通に当たり前のことをやっとけばいいと思うよ、としか言えないな。
一応法整備されたからパスワードだけかけておけばノーガードでもいんじゃねという話もある。
>>787 >それは、パスワード漏洩時の対策にはならんのではないか。
元ネタが同時ログインをキックしたいということだけであって、どこに問題がある?
>>795 >>773 > 何かの拍子に ID/PW が漏れた場合、
> 同時にアクセスされたら漏洩発覚!としたかったんです。
>>771 だけ見ればそんなもんかって感じだが。
同時アクセス「ゆえに」漏洩発覚というロジックはむちゃくちゃだから どうでもいいじゃん。同時アクセスキックできる方法だけ話してればいい。
798 :
711 :2007/03/15(木) 17:59:45 ID:???
元質問者です。 両方再ログイン促すので十分です。 それで漏洩か運用で分かると思うので。 なんだかいろいろと考えることが多いのですね ^^; どこかにいい実装例はないでしょうか。 ( コードがあると嬉しいです )
>>798 仮に漏洩してたとして、同時アクセスと思える範疇でアクセスがある、漏洩と判断できる確率って少ないんじゃね。
あれこれ仕掛けてユーザビリティ低下でクレームが発生するほうが高そうに思えるのだが。
まぁどこまでコストをかけるかは措いといて、
>>775 で「どうやってログアウトを...」って書いたけど、Cometならできるかもしんない。
Cometシステムを構築したことどころか、lingrさえしたことないので、
どこまで実用的に漏洩を察知できるシステムができるどうかは知らんが。
これでも、ユーザが会社でブラウザを開いたまま帰宅、自宅でログイン出来ねーって言うかもな。
800 :
nobodyさん :2007/03/15(木) 21:24:01 ID:fuFXgue7
>ユーザが会社でブラウザを開いたまま帰宅、自宅でログイン出来ねー イントラ想定してしながらそうじゃないケース想定してるのが痛い
801 :
799 :2007/03/15(木) 21:34:56 ID:???
>>800 え〜と、俺はイントラなんて想定しとらんが?
元質はイントラネタだったのか?
Cometならできるかもしんないwww
昔、椅子に座ったらログイン、椅子から立ったらログアウト、 っていう仕組みを作ろうかとか考えたことある。 実用性が無さそうなんでやめたけど。
あきらめたらそこでログアウトだよ
>>801 元質はイントラじゃない
イントラ云々はおれが
>>788 で
「イントラだったからここまでやったけどそうでなければどれくらい手間をかけたもんかな」的に書いただけ
>>803 迂闊にトイレにも行けねーなw
実際は、イントラ以外使えないというところではそんなもんだろ
807 :
nobodyさん :2007/03/15(木) 23:58:51 ID:7hzpmvYO
でも同じユーザーが同時期にアクセスできないようにするってことは、魅力があるね。 なんか旨い方法ないのかな?
IPとかUAは?
809 :
799 :2007/03/16(金) 00:15:29 ID:???
う〜ん、マジでCometで出来ない? Cometって時間的にどのくらいコネクションを握ったままできるのかしらんだけど、 擬似サーバプッシュでクライアントからの返答(再リクエスト)がなければログアウト状態と判断できると思う。 保存期間なしのCookieも併用して。 Apacheにmod_cometみたいなモジュールが出てきたらいろいろ面白そうだけどなぁ。 で、PEARとはまったく関係ない話になってしまった。
プロセス単位じゃなくて、スレッド単位でコネクション維持してくれるモジュールが 無いと、すぐに鯖がパンクするな。
後のログインを優先させれば解決
814 :
nobodyさん :2007/03/16(金) 09:00:07 ID:tL5WlbtE
>>807 利用できる端末を登録制にする。
登録は自分で出来るけど、登録用には別のパスワードを用意して、全てが漏れないと使えないようにする。
端末の登録が変更されると、指定したメールに通知。
たしかソニバンがこれ。
登録済み端末が操作されてしまうのは防げない。
>>815 Ajaxは、クライアント側の制約(DHTML)がありすぎだからなあ
>>816 「端末」の同定はどうしてるのだろう?<ソニバン
>>818 同じPCでブラウザ変えると別端末という認識をされた。
クッキーとかかな。
>>798 >元質問者です。
>両方再ログイン促すので十分です
これ意味あるかな?
1.そもそも先にログインしている方が「正規ユーザ」とは限らない。
2仮にそうだとしても、.クラックした方が先に再ログインすることも出来る
実際は、こういう事態がおこったら、そのユーザアカウントは仮停止すべきでしょう。
821 :
nobodyさん :2007/03/21(水) 18:47:33 ID:78nxSnEz
vistaでpearコマンド、CLIがntdll.dllのエラーで停止しない?
sage
823 :
nobodyさん :2007/03/23(金) 14:24:37 ID:cotQkCWi
すいません PearでQuickFormを使ってページを作成しています。 controllerを使ってウィザード式にしたいのですが 前のページでデータベースからの検索結果(不特定多数)があり その結果それぞれにリンクを貼りクリックするとその情報を持って 次のページに行きたいのです。 色々調べたのですがフォームボタンを使ったものしかなく 困ってます。 参考になるページなどありましたら教えてください よろしくお願いいたします。
それはQuickFormとかと関係ない。 a href 要素・属性で、POSTで送信したいってことでしょ? javascriptを使えばいい。 ’リンクでPOST’ とかググればすぐ
825 :
nobodyさん :2007/03/25(日) 05:11:07 ID:2BiXNRYt
そうみたいよ。 今は普通にできるから。
ブラウザ閉じるだけでもセキュリティ的には問題ないしなあ。 ステートレスのHTTPでは無理。 社員にICタグつけておいて、部屋に入ってきたらアクセス許可、退室したらアクセス拒否でいいかと。
828 :
nobodyさん :2007/03/28(水) 17:44:14 ID:OFFYL5la
Auth のLoginCallback, postUsername を使ってログインしたユーザーのログを取りたいのですが、 具体的なやり方が分かりません。参考になる書籍かページを教えていただけないでしょうか。
829 :
828 :2007/03/28(水) 18:55:20 ID:???
その後いろいろ試して、 function LoginLog( $user, $params) { $usrname = $user; $etc_value = $params->post['postしたname']; ログ書き込み; ・ ・ } ・ ・ $a = new Auth("DB", $params); $a -> setLoginCallback("LoginLog"); $a -> start(); ・ ・ ってな感じでlogincallback を使うことが出来るようになりました。 postUsername の使い方は分かりませんでしたが、とりあえず上で行こうと思います。 お騒がせしました。
830 :
nobodyさん :2007/04/08(日) 03:01:58 ID:n+ShWf8j
>>95 >キャッシュをメモリに置けばお手軽に負荷テストの結果を一桁あげられる
cacheLiteってメモリ云々とかしてたのか
単にキャッシュを作ってreadfile()で表示してるだけなのかと思ってた
ってか、ふーん楽勝〜車輪の再発明でもいいもんね〜とか調子にのって
myCacheSystemを作ってしまったんだが、単にreadfile()で表示するだけでも効果あるよね
携帯3キャリアごとの絵文字が入ったページの表示切り替えなんだが
(いちいち変換するより作りおきと思って)
今は一つのファイルで3キャリア分岐(if...else if...)のPHPコード交じりの静的?に書き出しているんだけど、
アクセスが集中すると、ロックが変になるのかファイルが途中で途切れてパースエラー頻発
おまけにパースエラーはハンドリングできない?ので目視でエラーチェックorz
別名で作った後リネームでもだめぽ?
>>830 横レスごめんなさい。携帯3キャリアの絵文字のコード(変換コード?)って
どうやって手に入れたんですか?
それと、最近の携帯は3社共通仕様になってますが、そこのコードも手に入りますか?
将来的に携帯を視野に入れてるので、是非お聞かせ下さい。
833 :
nobodyさん :2007/04/11(水) 04:58:32 ID:xStB8qdy
共用サーバ(ロリポ)で、PEARのCache(Cache_Liteじゃない) で作成されたキャッシュデータがファイルの所有者がapacheになっちゃうので FTPソフトでは消せないんですが、全て削除するような関数はありますか? (Cache_liteでいうclean関数みたいな)
834 :
nobodyさん :2007/04/11(水) 05:00:07 ID:xStB8qdy
ぬあ、日本語変、ごめんなさい。 共用サーバ(ロリポ)で、PEARのCache(Cache_Liteじゃない) で作成されたキャッシュデータの所有者がapacheになっちゃうので FTPソフトでは消せないんですが、全て削除するような関数はありますか? (Cache_liteでいうclean関数みたいな) まだ変、ごめんなさい(´;ω;`)
そのキャッシュディレクトリをブラウザから消すPHPプログラム作ればいいんでない? そうすればapacheのUIDで消す事ができるでしょ?
そりゃそうだが PEAR 側でサクッと解決したいからここで訊いてるんだろうなぁと思った
Cacheのクラス遷移みろ。 コンテナのFILEのクラスをextendsしてsaveメソッドあたりの時にchmodすればいいだけだ。
そうすると他のユーザでも消せるけどね。 共有鯖使うなって感じ。占有鯖使えば?
そうするともなにも、前提がそれでもいいという前提だろ。
>>835 ディレクトリ内のファイル一覧出してunlinkにぶち込んだら綺麗に消えました!
所有者が「apache」ってのに尻込みして、PHPプログラムじゃ消せないだろうと
先入観を持った私がバカでした。
ありがとうございました、本当に助かりました。
>>836 おっしゃるとおり、サクッと消したい気持ちもあったんですが、
純粋にPHPプログラムで消せると思ってなくて・・・ゴメンナサイ、ありがとです。
>>837 私には難しくてよく分かりませんでしたが、優しさは伝わりました、ありがとです。
>>838 貧乏でゴメンナサイ(´・ω・`)
>>840 >ディレクトリ内のファイル一覧出してunlinkにぶち込んだら綺麗に消えました!
Cache/Container/file.phpを勉強のつもりでいいから読め。
flushで一発だろ。
$cache = new Cache('file',なんたら);
$id = $cache->generateID('なんたr');
ってやってるんだろうから
$cache -> flush($id);
で消えるはずだ。やってないけど。
?
QuickFormで $tmpArray = array(); foreach ($list as $row) { $tmpCheckBox =& $form->createElement('checkbox'); $tmpCheckBox->setName($i); $tmpCheckBox->setText($row['name']); $tmpCheckBox->updateAttributes(array( 'value' => $row['id'], 'id' => 'check_'.$i )); $tmpArray[] = $tmpCheckBox; $i++; } $form->addGroup($tmpArray, 'ques_01', '', ''); こんな感じで checkbox の value の値は変えられるようになったのですが freeze() すると値が1に戻ってしまいます。 何とか freeze() を経由しても、継承する方法はないのでしょうか?
チェックボックスはvalueの値をどうこうするよりも nameを foo[] とか foo[$i] にした方がいいと思う
847 :
844 :2007/04/19(木) 11:31:58 ID:???
>>845 name は修正しました。ご指摘ありがとうございます。
いろいろとやってみてるんですが setPersistantFreeze(true) 指定してもだめ。
$_POST の値では渡っているんですが…。
>>847 だからfreezeしてvalueの値が変わる変わらないに関わらず
該当チェックボックスのnameのPOSTがあるかないかで
判断するようにロジックを組め
チェックボックスってのはチェックするためのボックスのことだ
HTML_Page2ベータのままで終わってるけど XHTMLヘッダ部分を生成するPEARって他にないのですか?
PEAR::Mail が 1.1.9 くらいから RFC822 のチェックをはじめ、
○○○ <
[email protected] >
の○○○の部分に []()<>@,;\:". があると送れなくなりました。
mb_encode_mimeheader() は、英数字だけだと
=?ISO-2022-JP〜 のようにしてくれないためメール送信できません。
英数字だけでも =?ISO-2022-JP〜 にしてくれる
関数なりモジュールはないでしょうか?
自前でやりゃいいんじゃないのかい $to = '=?ISO-2022-JP?B?' . base64_encode($name) . '?=' . '<' . $to_addr . '>'; みたいな感じで
852 :
850 :2007/05/11(金) 10:05:20 ID:???
>>851 おお、なるほど!ありがとうございます。
>>851 の件ですが、
MIME は 74 文字で折り返します。
その実装例はないでしょうか?
# メールに関することなので、
# 自分がコードを書くより、
# 実績のあるコードがあるとうれしいです。
>>853 こんなのはどうだろう?
修正よろしく>PHP ハッカーたち江
<?php
$string = 'あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも やゆよ';
$fold = 24;
$MIME = array();
$indent = '';
$line = 0;
$start = 0;
for ($i = 0; $i < mb_strlen($string, 'ascii') + 2; $i += $fold) {
$from = mb_strcut($string, $start, $fold);
if ($line > 0) {
$indent = ' ';
}
$MIME[] = $indent . '=?ISO-2022-JP?B?' . base64_encode(mb_convert_encoding($from, 'JIS', 'EUC-JP')) . '?=';
$start += mb_strlen($from, 'ascii');
$line++;
}
?>
>>850 > mb_encode_mimeheader() は、英数字だけだと
> =?ISO-2022-JP〜 のようにしてくれないためメール送信できません。
そうだっけ? ちょっと試してみたが、
$ php -r 'echo mb_encode_mimeheader ("あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも やゆよ");'
=?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQiAbJEIkKyQtJC8kMSQzGyhCIBskQiQ1GyhC?=
=?ISO-2022-JP?B?GyRCJDckOSQ7JD0bKEIgGyRCJD8kQSREJEYkSBsoQiAbJEIkSiRLGyhC?=
=?ISO-2022-JP?B?GyRCJEwkTSROGyhCIBskQiRPJFIkVSRYJFsbKEIgGyRCJF4kXyRgGyhC?=
=?ISO-2022-JP?B?GyRCJGEkYhsoQiAbJEIkZCRmJGgbKEI=?=
?
ていうかそもそも英数字だけなら mimeエンコードしなくていいんじゃないの? だからmb_encode_mimeheaderは変換せずに返すんじゃないのか
?
859 :
855 :2007/05/12(土) 00:43:49 ID:???
ゴメソ、スマソ、寝起きでボケてた...orz
この手の正しい実装はjcode.plの人がやってたよ 今読むとなかなか大変だけど… まーbase64とjisですましちゃうお手軽でinvalidなコードはよくないとおもうよ
日本語禁止にしてしまえば楽じゃね?
pearに繋がらない… ひょっとして落ちてる?
863 :
850 :2007/05/14(月) 10:05:14 ID:???
>>854 ,860
いろいろありがとうございます。
jcode.pl の移植は私の手に余ります…。
皆さん、どうしているんでしょうね。
英語を使っている。英語圏相手にした方が需要は倍以上有るし。
英語圏相手にできるだけの語力がありません><
pear.php.net に繋がらんヽ(`Д´)ノ
NYは深夜だしな
落ちてるじゃねーかYO!
いまはさすがに繋がるな
PEARってフレームワーク?
, イ)ィ -─ ──- 、ミヽ ノ /,.-‐'"´ `ヾj ii / Λ ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{ ノ/,/ミ三ニヲ´ ゙、ノi! {V /ミ三二,イ , /, ,\ Yソ レ'/三二彡イ .:ィこラ ;:こラ j{ V;;;::. ;ヲヾ!V ー '′ i ー ' ソ Vニミ( 入 、 r j ,′ ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ ヽ ヽ -''ニニ‐ / | `、 ⌒ ,/ | >┻━┻'r‐'´ ヽ_ | ヽ _ _ 」 ググレカス [ Gugurecus ] ( 2006 ? 没年不明 )
まだ赤ちゃんか
PEARってつええな 俺の身の丈以上のことがひょいひょい出来るぜ 感動した
どんだけ低身長なんだよ(w
876 :
nobodyさん :2007/06/26(火) 23:35:41 ID:X+qRiCvs
installで分からないところがあります。 ローカル環境にXML_RSSをインストールしようと思っているのですが、以下のようなエラーが出てしまいます。 C:\xampp\php>pear install xml_rss Did not download dependencies: pear/XML_Tree, use --alldeps or --onlyreqdeps to download automatically pear/XML_RSS requires package "pear/XML_Tree" No valid packages found install failed xml_treeが必要とのことなので、以下のも実行して見ました。 C:\xampp\php>pear install xml_tree pear/xml_fastcreate requires package "pear/XML_Tree" (version >= 2.0b2), downloa ded version is 1.1 pear/XML_Tree cannot be installed, conflicts with installed packages No valid packages found install failed __________ conflicts with installed packages から既にインストールされているパッケージとの依存関係からエラーが起こると思うのですが、原因が分かる方いたら教えてください。 ちなみにxml_fastcreate はインストールされています。
pear install --alldeps XML_RSS で依存パッケージも勝手に入れてくれるはずだけど confilictしててよくわからなったらとりあえず依存してるっぽいやつ 一旦全部uninstallしてみてalldepsでいれてみな
878 :
nobodyさん :2007/06/27(水) 00:32:02 ID:hFOZBWIz
>>877 素早い対応ありがとうございます。無事インストールできました。
インストールする前の環境は
PACKAGE VERSION STATE
Archive_Tar 1.3.2 stable
Auth 1.5.2 stable
Auth_HTTP 2.1.6 stable
Console_Getopt 1.2.3 stable
DB 1.7.11 stable
PEAR 1.6.1 stable
Structures_Graph 1.0.2 stable
XML_Beautifier 1.1 stable
XML_FastCreate 1.0.3 stable
XML_Feed_Parser 1.0.2 stable
XML_Parser 1.2.8 stable
XML_Serializer 0.18.0 beta
XML_Util 1.1.4 stable
でした。いくつか消せなかったのですが、
Auth_HTTP 2.1.6 stable
ML_FastCreate 1.0.3 stable
XML_Feed_Parser 1.0.2 stable
XML_Serializer 0.18.0 beta
を消してからpear install --alldeps XML_RSS を実行すると出来ました。
PEARってインストールしなくても使えるよね?
えっ
(^ー^)
( ゚д゚ )
883 :
nobodyさん :2007/07/03(火) 10:55:42 ID:RDWGqtzx
超初心者的な質問ですが PEARにライブラリ?をインストールって言うのは インクルード指定してあるフォルダにそのファイルを置けばいいだけですか?
>>883 依存関係とか全部自分でやればOK
pear コマンド使った方が楽だと思うけど
885 :
nobodyさん :2007/07/03(火) 14:54:43 ID:RDWGqtzx
コマンドの使い方がいまいちわからないので
>>885 pear install ライブラリ名
php5 + postgresql8を使用しています。 pearのDBにあるautoexecuteでバイナリデータをinsertさせようとしてるんですが、 autoexecuteってbyteaのデータをかってにクオートしちゃうっぽいんです。 この辺の動作について知ってる人or良い解説ないですか?
888 :
887 :2007/07/05(木) 20:35:08 ID:???
自己解決。 common.php内、関数buildManipSQLにて、 $values .= '?'; となっているためprepareされるqueryが?しか生成されない。 マニュアルにその辺は適宜変換されるとあったが、それは単純にprepare側にて ?で渡されたqueryの解釈を良いように行う、との事だった模様。 * + <kbd>?</kbd> scalar value (i.e. strings, integers). The system * will automatically quote and escape the data. うーん日記ですまん。
それ英語の読めてないだけやん。マニュアルのせいじゃない
890 :
nobodyさん :2007/07/11(水) 14:54:17 ID:PnaVaP5y
質問です。 postgreSQL + PHP + PEAR::DB をどうしても使わないと行けない環境で 開発してるんですけど、 データベースからのデータ削除時に実際にDBMSが削除したデータ 件数を取得したいんですけど、 PEAR::DB を使って出来ますでしょうか? (パソコンからだと投稿できないので携帯から書いてます。。。)
>>890 PEAR::DBっていうか、RETURNINGを使えば分かるかと。
>>890 全ての環境で同じかどうかは断言できないが
仕様としてはいちおう DB_Common::affectedRows() で取得できる.
pgsql ドライバは正しく pg_affected_rows() を叩いてるので大丈夫だと思う.
893 :
nobodyさん :2007/07/16(月) 00:35:42 ID:OjCJuTb6
質問させてください
今回初めてpearを導入しようと思ってるものです。
それで、インストールについてですが Auth などの各モジュールは
そのフォルダごと(Authフォルダ) include/pear/ に入れればいいんでしょうか?
「Auth 1-3」などのバージョン部分「1-3」を削除して?
参考として
http://www.phpbook.jp/pear/pear_auth/index1.html を見ているのですが、念のため確認させてください
あと、雑誌についてたpagerモジュールとjpgraphモジュールは、それぞれのフォルダの外の
package.xml というファイルとセットになっています。
これだと各フォルダ+xmlをpearディレクトリに入れたときに一方のpackage.xmlが上書きされますが、、
どうしたらいいのでしょう?
よろしくおねがいします。
include_pathが通ってるディレクトリなら基本どこでもいい package.xmlはPEARパッケージ用のファイルだから ただライブラリとして使う分には必要ない消しても構わん
895 :
nobodyさん :2007/07/16(月) 02:05:23 ID:OjCJuTb6
>>894 ありがとうございます!
いろいろ試してみます
896 :
nobodyさん :2007/07/18(水) 04:28:26 ID:vE6tBjuq
すみません 質問です pearをインストールしたらコマンドプロンプトに次のような文章が現れました php.ini <C:\PHP\php.ini> include_path updated. Current include path : .;C:\php5\pear Configured directory : C:\PHP\pear Currently used php.ini (guess) : C:\PHP\php.ini Press Enter to continue: ** WARNING! Old version found at C:\PHP, please remove it or be sure to use the new c:\php\pear.bat command phpをインストールした時、php.iniはwindowsフォルダの中に編集した上で入れたんですが、 オリジナルのphp.iniは元の場所に置いたままでした 上のメッセージはそのオリジナルを編集したってことでしょうか? では、もう一度手を加えてwindowsフォルダに入れなおしたほうがいいですか? 環境は winXP php5.2.3 apache2 です ご意見いただきたいです よろしくおねがいします
C:\PHP\php.iniの方のinclude_pathを更新したよってことだな phpinfoで今ロードされてるphp.iniのパスを確認して とりあえずロードされてない方は消しといた方がいいだろうな んでinclude_pathを更新
898 :
nobodyさん :2007/07/18(水) 11:23:22 ID:vE6tBjuq
・ID出せ ・sqliteのDB作れてるのか ・dsnの記述は 情報なしで質問出来ると思うのか?
901 :
nobodyさん :2007/08/01(水) 16:44:37 ID:1HTj5yh2
Spreadsheet_Excel_WriterでExcelファイルに出力する方法は、 新規にファイルを作って書式設定しながら出力するサンプル ばかり見かけます。 あらかじめ作っておいたひな型を開いて、そのファイルの 必要項目のセルに出力することはできないのでしょうか。
>>901 object The Spreadsheet_Excel_Writer::Spreadsheet_Excel_Writer ([string $filename=''])
string $filename - オプションで、ワークブックのファイル名を指定します。
って書いてあるから出来るんじゃないの?
903 :
nobodyさん :2007/08/06(月) 10:58:11 ID:KGjjzVca
AUTHで認証成功して、 他のファイルに、認証情報を引き継ぐ事って可能なのでしょうか? どなたかご教授下さい。
意味不明 とりあえずセッション、クッキーについての知識はあるのか?
905 :
nobodyさん :2007/08/06(月) 11:27:36 ID:KGjjzVca
ちょっとだけ。
じゃ、その認証情報はどこに保存されてると思う?
907 :
nobodyさん :2007/08/06(月) 14:34:46 ID:KGjjzVca
[PHPSESSID] => 63c7231fb0f2ed84663d75b260ad8287
どうしてそんなことしたいんだ>他ファイルに引き継ぐ
909 :
nobodyさん :2007/08/06(月) 17:47:19 ID:KGjjzVca
1枚で処理しきれないんです。
そろそろえすぱーさんの出番ですよ
911 :
nobodyさん :2007/08/07(火) 12:11:31 ID:nqMZFXTj
質問です winXP+Apache2+PHP5.2.3 で PEARの各モジュールをインストールしてるんですが、以下のエラーがでます。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\ ext\php_zip.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 php_zip.dllに限らず、ものすごい数のエラーが出るんですが、確認すると/extディレクトリには 該当ファイルが存在します。 おまけに、PEARモジュールのインストール事態は成功と表示されるし、 (install ok: channel://pear.php.net/Pager-2.4.4) 実際に機能もしています。 上記のエラー、気にしなくていいんでしょうか? なにが原因かなどわかる方いたらよろしくお願いします。
php.iniのextension_dirが適切に設定されてるいるか?
>>912 >適切に設定
されてるんですよ
動作もちゃんとするし 何だコリャ?って気分、、
php.iniがちゃんと読み込まれてるか確認 pearのext_dir設定も確認 不要なモジュールはちゃんとコメントアウト
まずそのコード内で phpinfo() して 実際に適用されてる extension_dir の値をチェックすべき
916 :
nobodyさん :2007/08/10(金) 17:16:59 ID:Zwzs53gD
PHP+MySQLをある程度使えるようになったので、 PEARの勉強をしようと思うのですが、何か参考になるサイトはないでしょうか?
PHP+MySQLをある程度使えるなら 自分でぐぐるくらいできるだろ
PEARの使い方を知るにはクラスとか勉強してからのほうがいいですか?
クラスライブラリだからな 使うだけなら"おまじない"的でいいのかもしれんが
>>919 PEARでクラスの使い方を覚えればいい。
922 :
nobodyさん :2007/08/16(木) 11:48:57 ID:nF87VTmb
autoExecuteを以下のようにして使うとDB Error: syntax errorが返ってきます。 $nameと$ageにはそれぞれPOSTされたデータが入っていて、idはauto_incrementなフィールドです。 $table_name = 'Test'; $insert = array( 'id' => NULL, 'name' => $name, 'age' => $age ); $res = $db->autoExecute($table_name,$insert,DB_AUTOQUERY_INSERT); if(PEAR::isError($res)) { die($res->getMessage()); } マニュアルも読んでみたのですが、これで合ってるような気がしてしまって余計に分からなくなってしまっている状況でs。 何かこのコードに問題があったら教えて欲しいです。
'id' => NULL は、いらないんじゃんね?
924 :
nobodyさん :2007/08/16(木) 14:59:31 ID:nF87VTmb
>>923 レスありがとうございます。
その部分を消して再度試してみましたがやっぱりSyntax Errorです。
マニュアルだとSyntax Errorはモードの指定が間違っているときに出るらしいんですがモードはこれで間違い無いはず・・・orz
とりあえず die($res->getMessage()); のとこを一度var_dump($res)にしてみ user_infoにDBが返したネイティブな詳しいエラーが入ってるはずだから そのエラーを貼ってくれDBのエラーだけじゃよくわからん
926 :
nobodyさん :2007/08/16(木) 15:50:19 ID:nF87VTmb
orz スイマセン自己解決しました私の勘違いみたいでした。
ところでさ、PEARなんか覚えても、 結局PEARを使わずに、PEAR使うよりも 簡単に便利に開発できるCakePHPを使うんだから 意味なくね?w
夏休み中にライブラリとFWの違いについて勉強しておくようにな
CakePHPならフレームワークに、ライブラリ相当の 機能が含まれているのでPEARはいりません。 知らなかったの? 無駄な努力しちゃったねw
( д) ...。。
夏だしよくあることだと思ったが、 CakePHPで検索して一番最初に出てくる CakePHP Usersのページのdescriptionで Cake自身のページが「PEARの必要のない」って謳ってるのに驚いた ライブラリ集の総称なのにそれが必要あるとかないとか っていう売り文句はどうなのよCake(.jpの管理者)さん、と思った
Net_UserAgent_MobileとかServices_AmazonとかMP3_IDv2とかに至るまで 全部Cakeが実装してくれるんなら文句もないが…… でもその実装するって行為自体がまさに「無駄な努力しちゃったね」になりそうだ
>>931 これのこと?
>CakePHPは外部ライブラリ(PEARなど)を必要としない、PHP4とPHP5で利用できる
>高性能PHPフレームワーク(PHP Rapid Development Framework)です。
これってCakeはPEARなくても動くよってことじゃないの?
PEARライブラリに依存してないよって意味だよね(笑)Ethnaみたいにさ。 しかも、うたってるのは本家の人だよね。 恥ずかしい人だね(笑)
PEARライブラリに依存したフレームワークって何かあったっけ Mapleなんかはライブラリ的なものが何もないから必然的にPEARでも何でも必要になるけど 依存してるってわけじゃないよな
PieceはPEAR,Cache_Lite,Net_URL(Piece_Unity),MDB2(Piece_ORM)に依存してるね。 あとPEAR Installerでインストールできないspycにも。
937 :
nobodyさん :2007/08/20(月) 15:29:02 ID:3dZ3yJyV
実環境でPEARを使ってみようと思ったのですが、PEARのインストールで悩んでいます。 go-pear.orgをアップロードし、実行したのですが、tempディレクトリのパーミッションが777じゃないと何回やっても怒られます。 手動でtempを作成し、パーミッションを777にし再度インストールしてもgo-pear.phpが755のtempを作ってしまうみたいで・・・ これはどうにかならないんでしょうか? 一応、エラーメッセージはこれです。 FATAL ERROR! This directory exists, but we have no write permission in it. You can grant this permission by logging on to the server and issuing the following command: chmod 0777 home/.../my_pear/temp
938 :
nobodyさん :2007/08/21(火) 14:48:40 ID:pHyzkn8s
任意のurlへpost投稿する時の質問なのですが inputテキスト系以外の アップロードのフォームへはどういう記述をすればいいのでしょうか? 自サイトの保管画像などを渡したいのですが… require_once "HTTP/Request.php"; $req =& new HTTP_Request("フォームのページ"); $req->setMethod(HTTP_REQUEST_METHOD_POST); //POSTデータセット $req->addPostData("ネーム属性", "バリュー" ); ・ ・ ・ $req->addPostData("ネーム属性", "バリュー" ); //送信 $response = $req->sendRequest();
940 :
nobodyさん :2007/08/21(火) 15:30:18 ID:pHyzkn8s
>>939 $req->addFile("johndoe-txt.pdf", "/home/johndoe/text.pdf");
謎なのがアップロードフォームタグにもnameはありますよね?
そのせいか画像はスルーされてテキスト部分だけの投稿になってしまいます…
942 :
nobodyさん :2007/08/21(火) 17:42:57 ID:pHyzkn8s
(name名,ファイル指定,ファイル属性)ですね 無事に投稿できました!
944 :
sage :2007/08/23(木) 05:55:41 ID:yo6Adycn
Calendarにバグ発見。$mはmonthだから$sの状態見て$m弄ってるのはおかしいと思うんだがどうよ? --- Calendar/Engine/PearDate.php.orig 2007-08-23 05:50:53.000000000 +0900 +++ Calendar/Engine/PearDate.php 2007-08-23 05:50:53.000000000 +0900 @@ -161,11 +161,11 @@ function adjustDate(&$y, &$m, &$d, &$h, &$i, &$s) { if ($s < 0) { - $m -= floor($s / 60); + $i -= floor($s / 60); $s = -$s % 60; } if ($s > 60) { - $m += floor($s / 60); + $i += floor($s / 60); $s %= 60; } if ($i < 0) {
945 :
944 :2007/08/23(木) 05:57:29 ID:???
げ!sage入れ間違えてる上にdiff張りつけてもインデント消えるの忘れとったわ……
Spreadsheet_Excel_WriterでExcelを新規作成した時ときのパーミッションなんですが linux側でumask 000 に設定しても644で作成されてしまいます。 (touchで作成したファイルはきちんと666になります) 666で作成するにはどうしたらよいのでしょうか?
>>944 そういうことはPEAR::Bugsに報告しろや。
949 :
944 :2007/08/24(金) 19:25:49 ID:???
>>946 レスありがとう。
独りデスマーチで徹夜してたんで、あの時間だった。(デスマ中の息抜きというか)
そのデスマでカレンダー絡みのモノがあったんで、今まで使ったこと無いPEAR/Calendar見てたら、
たまたま記述ミス見付かったという。
>>948 レスありがとう。
英語でコミュニケーションするの苦手だし、無言でいるよりかはここにでも書いとけば
いずれGoogleでも引っかかるようになるだろうし、自然に広まるかなと。
PEAR::Bugsに報告するのが一番なのは
>>948 さんの仰る通り。
950 :
nobodyさん :2007/08/26(日) 17:50:52 ID:aCWzzRM0
MDB2とかのbuildManipSQLでフィールド名をクォート済みで出力させるのって出来ますか?
951 :
950 :2007/08/26(日) 18:06:13 ID:aCWzzRM0
buildManipSQLの後クォートしても execParamのときにはずれますね・・・。 MDB2系でフィールド名クォートして実行する方法あればお願いします。
952 :
nobodyさん :2007/08/26(日) 18:14:32 ID:THPLCEUI
初心者ですがpear.batが実行できません。どうすれば宜しいでしょうか? 色んなサイトの方法を訳も分からずやってしまい、益々訳わからなくなりました。 c:\php内のgo-pear.batを実行 PEAR_ENV.regを実行 現在php.iniが ; Windows: "\path1;\path2" ;***** Added by go-pear include_path=".;C:\php\pear;c:\php\includes" ;***** include_path = ".;C:\php\includes;C:\php\pear" ; The root of the PHP pages, used only if nonempty. と、こんな感じになってしまってます。 MS-DOSプロントでC:\>pearと打つと「コマンドまたはファイル名が違います」 C:\>php\pearと打つと「コマンドまたはファイル名が違います。PHP_PEAR_INSTSLL_DIR is not set correctly. Please fix it using your enviroment variable or modify the default value in pear.bat.
953 :
950 :2007/08/26(日) 18:54:02 ID:???
すみません、自己解決しました。 $mdb2->setOption("quote_identifier", true); ですね。
955 :
nobodyさん :2007/08/27(月) 11:35:16 ID:ICxB7mvC
今、初めてPEARのDB使ってるんだけど、 これもしかして文字コードの項目ない・・・? DBにアクセスすると同時に文字コードを設定したり、 fetchでセットを取得して配列に格納するときに文字コードの変換を行いたいんだけど 全て手動でしないといけないのかな?
957 :
nobodyさん :2007/08/27(月) 11:41:46 ID:ICxB7mvC
>>957 This package has been superseded, but is still maintained for bugs and security fixes. Use MDB2 instead.
959 :
nobodyさん :2007/08/27(月) 11:50:42 ID:ICxB7mvC
他のライブラリと併用ですね、わかりました
960 :
nobodyさん :2007/08/27(月) 13:34:02 ID:ICxB7mvC
再度質問させてください PEAR/Net/UserAgent に、Detect.phpしか入っていなかったので、 Mobile.phpをインストールしたいのですが、 コマンドプロンプトで「cd\xampp\php\pear.bat」と打ったところ DB2CLI.dllが見つかりません isqlt09a.dllが見つかりません などのエラーが出て、「CLIは動作を停止しました」となり、強制終了されていまいます。 どのようにしてインストールすれば良いのでしょうか? Windows Vista XAMPP1.6.2
962 :
nobodyさん :2007/08/27(月) 13:58:14 ID:ICxB7mvC
>>961 ありがとうございます。
php.exeとgo-pear.batを上書きし、
pear.iniを削除して、同じく実行してみたのですが、同じエラーになってしまいます。
もしかして、PEARをzipで配布していたりするのでしょうか?
もしそうなのでしたら、zipを解凍してpearフォルダに入れようと思っているのですが、
これは正しい手順ですか?
ちょ、読めよ
964 :
nobodyさん :2007/08/27(月) 14:12:55 ID:ICxB7mvC
自分の症状は(1)で、 「それはXAMPPが使っているPHPがヘンなんだよ。ZIPから解凍して上書きしてごらん」 ということで、php.exeを上書きしてみたのですが、同じでした。 この場合の「PHP」というのは、PHPフォルダにある全体を指しているのでしょうか。 それとも、php.exe単体を指しているのでしょうか? フォルダごと上書きしてしまうと、後々何か不具合が起きるのではないかと思うと躊躇ってしまい上書きできません。
えーっと、リンク先が参照してるXAMPPのフォーラムは読んだのか? XAMPPの1.6.2ってPHPのバージョン幾つだ。5.2.3ならする必要がない。 つか、XAMPPはどこにインストールした?
966 :
nobodyさん :2007/08/27(月) 14:37:09 ID:ICxB7mvC
PHPのバージョンは5.2.2です。 インストール先はC:\xampp\です。 5.2.3を丸々上書きしてみたのですが、5.2.2のままになっています。 (ちなみに、OSやApacheの再起動はしました。)
>>966 simply download the latest PHP binaries (5.2.3 or later) and replace it into your XAMPP's php folder..
XAMPP1.6.3aのアップデータでバージョン上げたら? PHPのバージョン5.2.3だし
みなさんこんにちは
小さな英会話教室をしていて、ホームページを作っています。
そこでスケジュールカレンダーをphpで、できるとのことだったので、
友人からもらったプログラムをリンクさせましたが、
ログインすると、
Parse error: parse error, unexpected T_STRING in /www/a-mail/muse-eng.jp/public_html/schedule/Calendar.class.php on line 85
と、このようにでます。
ド素人なのでプログラムの書き換えもわかりません。
デザインは出来ていています。
phpプログラムを見て適正に修正して頂ける方探しています。
もちろん謝礼贈呈します。予算がないので10,000円で考えていますが、
お力添えいただける方、宜しくお願いいたします。
対象のホームページ www.muse-eng.jp
ご連絡先メールアドレス
[email protected] 宜しくお願いいたします。
>>969 老婆心ながら、
あなたが書かれている情報はクラッカーに狙ってくれといっているようなものですよ。
PHPがわからないといっているのに、アドレスまでのせて・・・。
しかもエラーメッセージにディレクトリまでご丁寧に。
悪意がある人ばかりとは思っていません。
悪意がある人が10人中8人くらいなら構わないっての?
2ちゃんにのせるような情報じゃないってことです。 親切心で言ってます。
他のところでもあまりいい反応もらっていませんが、 ホントにあてがなかったので、 ここならどなたか、いるかなと思いました。 すみませんでした
なぜその友達に聞かないの
だよな、そのプログラムを持ってきた友人とやらに相談しろよ 大体、スレ違いだ
10000円あるならその辺のASP屋に相談しなはれ
スレ違いのネタはスルーしろよ
そうだそうだ
すみません、PEARのインストールを行ったのですが、
Mail_Mimeだけどうしても入れられません。
詳しい方いらっしゃいましたら、ご教授お願いできないでしょうか。
//////////////////////////////////////////
サーバー:さくらインターネット
PHP Version 5.2.3(別途インストール)
---------------------------
%pear install -a Mail_Mime
pear/Mail_Mime requires PEAR Installer (version >= 1.6.0), installed version is 1.4.11
pear/Mail_mimeDecode requires PEAR Installer (version >= 1.6.0), installed versi on is 1.4.11
pear/Mail_mimeDecode requires package "pear/Mail_Mime" (version >= 1.4.0, exclud ed versions: 1.4.0)
No valid packages found
install failed
---------------------------
%pear list-upgrades
PEAR.PHP.NET AVAILABLE UPGRADES (STABLE):
=========================================
CHANNEL PACKAGE LOCAL REMOTE SIZE
pear.php.net Mail_Mime 1.3.0(stable) 1.5.2 (stable) 22kB
---------------------------
%pear list
..
PEAR 1.6.1 stable
..
--------------------------
問題点の参考blog記事
ttp://fdays.blogspot.com/2007/06/pearmailmimedecode.html ttp://darts-bar.info/test/enviroment/test11 (Apache%20PHP%20MySQL)%20.php
PEARの1.6.0以上が必要って言われるけど pear list ではPEARは1.6.1になってるってことかな? とりあえず pear upgrade PEAR ってみてからもう一回チャレンジしてみ