【PHP】PEAR Part3
..
39:nobodyさん
07/11/05 22:09:00 ktD3JA9h
PEARのパッケージにソースコードをハイライトしてhtmlに変換するものはないんですか?
欲しいもの
・PHPのソースコードをhtmlで読めるようにする。(例えば開始タグを<phpにする)
・ついでにソースコードに色をつける(例えば<span class="method">print</span>('hogehoge');)
40:nobodyさん
07/11/05 23:09:04
PEARの前にマニュアル探そうぜ?
URLリンク(jp.php.net)
41:nobodyさん
07/11/06 02:00:29
>>35
そのままだと、読み込んだページを全部保持してるんだよ。
解除するオプションがあったはず。名前は自分で調べてくれ。
42:nobodyさん
07/11/06 02:14:06
EventDispatcherてだれが使ってんだ?
43:nobodyさん
07/11/12 02:50:52
>>39
手軽さなら>40だな
PEARにこだわるなら
URLリンク(pear.php.net)
だな
性能の高さならGeshiだな
URLリンク(qbnz.com)
上から順に生成HTMLが汚いかな
44:nobodyさん
07/11/12 18:57:08
PEAR::DB使ってみたのだが、メモリリークが激しい・・・
使い方間違っているのか・・・
45:nobodyさん
07/11/12 19:15:59
俺は何度でも書くぞ
PEAR DBはもうバグFIXしかされねてねーんだ
速くて便利で現在もアップデートされているMDB2使え
46:nobodyさん
07/11/12 19:35:12 KZwgk9tb
>>45
ちなみに今PEAR DB使ってる場合、
乗り換えって結構簡単?
47:nobodyさん
07/11/12 21:11:13
少し見てみればいいのに
48:nobodyさん
07/11/12 21:12:50
>>46
簡単だ、DB使ってるなら機能的には同じ機能がMDB2にもある
メソッド名が変わってるものは URLリンク(www.phpied.com) で対応がわかる
「DB MDB2 移行」あたりでぐぐれば他の情報も出てくるだろう
よっぽど変なことしてない限りは既存のソースの
名前を一括リプレースしていくだけでほぼ移行できるはずだ、
まあもちろんテストは必要だが
49:nobodyさん
07/11/15 10:05:46
HTTP_Clientでhttpsにログインしたいんだけど、無理ですか?
50:nobodyさん
07/11/15 11:08:50
>>49
--with-openssl で可能と思いますが。
51:nobodyさん
07/11/20 21:58:04
PEARのMDB2+php4.4.7を利用してMySQL4.0.26(日本語に最適だと思って)に接続しています。
テーブルのカラム名にふんだんに日本語を利用しているのですが、
@php標準のmysql_field_name関数でカラム名を取得した場合
APEAR::MDB2のarray_keys($inQueryResult->getColumnNames())にて取得
(カラム名の取得方法が分からないので苦肉の策;)した場合
@だと正確に日本語を取得できるのですがAだと一部(だから厄介)日本語が化けますし、大文字の英字が小文字になります。
例:ユーザID → ユーブid
パスワード → パベワード
レコード → レビード
分かる方いらっしゃいましたら回避方法をお教えいただけますでしょうか。
また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
52:nobodyさん
07/11/20 22:07:49
まず相談内容が文字化けしてる点ね。
パベワード
レビード
は、かわいいから許してやって。
53:nobodyさん
07/11/20 22:50:08
>>51
カラム名にマルチバイト文字なんて使うなよ
どうしてもって言うならMDB2の場合
Reverseモジュールをloadしてtableinfoメソッドで取ってみるとか
ていうかカラム名にマルチバイト文字なんて使うなよ
54:nobodyさん
07/11/21 06:35:27
> 分かる方いらっしゃいましたら回避方法をお教えいただけますでしょうか。
> また、まだ使い始めなのですがPEAR::MDB2はこういう症状は多いのでしょうか?
こんな事言ってるってことは、このデータベースをセットアップしたのは 51じゃないんじゃないか?
恐らくセットアップした本人がバックれて、尻拭いさせられてるんじゃw
55:nobodyさん
07/11/21 22:38:49
52-54さん
回答ありがとうございます。
DBですが、先輩の引退につき、まったく部署や開発チームは違ったんですが
私が引き継ぐことになったものです。
PEAR自体は私の独断で使ってみようかなと思った次第です。
あれからも色々と調べたのですが、文字化け以前に53さんのおっしゃる
TableInfo()すらCallできずundefined methodやfunction on a non-object
も回避できない状態でしたので、自分にはまだクラスまわりの勉強が不足
していると判断しました;
納期の関係もあるので現在上手くいっているphp標準関数で取り合えずは
処理し、しかし気になるのでPEARは個人的に気長に追いかけるとします。
そしてやっと今から個人的なPEARを追う時間です。
$mdb2->loadModule('Manager');でManagerのロードには成功し、
listTables()などをCallできるのですが
$mdb2->loadModule('Reverse');でReverseのロードに失敗しているのか
分かりませんがTableInfo()がundefined methodとなってしまいます。
Managerがロードできているので環境や設定ファイルは大丈夫だと思うの
ですが、また、ディレクトリやそれぞれのmysql.phpと中身のメソッドは
存在するのですが、何が原因かどなたか分かりますでしょうか。
56:nobodyさん
07/11/21 23:22:13
>>55
ManagerはロードできるのにReverseだけうまくいかないのかあ
とりあえずloadModuleは失敗してたらPEAR_Errorを返すから
$result = $mdb2->loadModule('Reverse');
if (PEAR::isError($result)) {
echo $result->getMessage();
exit();
}
してみてReverseのloadModuleが失敗してないか調べてみるとか
57:nobodyさん
07/11/21 23:47:30
51=55です、55の補足です。
●Manager
$mdb2->loadModule('Manager');
$buff = $mdb2->manager->listTables();
var_dump($buff);
→成功(php4では「manager->」必須のようです
URLリンク(manual.jpnote.net))
「manager->」を除いた場合
buff = $mdb2->listTables();
→Call to undefined method: mdb2_driver_mysql->listtables() ・・・
●Reverse
$mdb2->loadModule('Reverse');
$buff = $mdb2->TableInfo();
var_dump($buff);
→Call to undefined method: mdb2_driver_mysql->tableinfo() in ・・・
「Reverse->」を足した場合
$buff = $mdb2->Reverse->TableInfo();
→Call to a member function on a non-object in ・・・
いまいちphpのエラー内容は解釈苦手なのですがReverseの2つのエラー
はどちらも解答に近づいていない気がします。
58:nobodyさん
07/11/21 23:48:53
>>56さん
返信ありがとうございます、確認してみましたところとくに表示は出てきませんでした。
『Reverse モジュール (API) - スキーマのリバースエンジニアリングを
MDB2_Reverse_Common クラスで抽象化します。』
という記載がマニュアルにあったので
@スキーマを別途インストールして検証してみます。
また、どうにもMDB2+php4でそもそも動くのかというところから検証すべく
Aphp5+MDB2で検証してみます。
会社の環境は変更できないため自宅で環境を作ってからの検証
になりますので気長にやります。
他、なにかヒントになるような確認事項等ありましたらお願いします。
あと、回答遅くなりましたが日本語でのカラム名ですが、
たしかにおっしゃる通りです。私もこれまで思ってはいましたが実際挑戦する
ことになったのは今回が初です。
しかしながら、「もしも気兼ねなく日本語使えたら」という思いで頑張ります。
オープンソースの世界では無謀な挑戦かもしれませんが。
59:nobodyさん
07/11/22 08:38:13 nlNH1bOE
日本語でカラム名をつける発想は無かったわ。
60:nobodyさん
07/11/25 15:12:08 mmjJDucQ
pear つながらん
go-pear.org 自体がなくなってるって、あかんやろ!
んで、 URLリンク(pear.php.net) もつながらん!
PEARインストールできひんやんけボケ
61:nobodyさん
07/11/25 15:17:37
PHP6でpearがコアに統合されたから役目が終わったんだろ
62:nobodyさん
07/11/26 11:14:04
>>60 今調べたらアクセスできたよ。
63:nobodyさん
07/11/29 15:59:33 5JTcagKP
「下らねぇ…」スレが荒れてますので、こちらで質問させてください。
特段の変更無く PHP をインストールした場合、pecl は勝手にインストールされるものですか?
それとも、設定の変更や、PHPとは別に後で追加する必要があるものですか?
(PHP 5.2.4、Apache/2.2.6、FreeBSD 6.2-RELEASE)
64:nobodyさん
07/11/29 16:11:42
>>63
peclはインストールされません
URLリンク(jp.php.net)
65:nobodyさん
07/11/29 19:23:28 5JTcagKP
回答ありがとうございます。
リンク先のマニュアルは先日読んだのですが、イマイチ理解できませんでした。
ここで説明しているのは PECL 拡張モジュール のインストール方法ですよね?
pecl の実行プログラム(管理プログラム) のインストールはどうなのでしょうか?
「PECL は PHP 拡張モジュールのリポジトリで、 PEAR パッケージシステムを経由して使用可能です。」
とありますが、PEARを使って、PECL をインストールするという意味でしょうか?
66:nobodyさん
07/11/29 19:24:53
【誤】 とありますが、PEARを使って、PECL をインストールするという意味でしょうか?
【正】 とありますが、PEARを使って、PECL の管理プログラムをインストールするという意味でしょうか?
67:nobodyさん
07/11/29 20:24:27
イマイチ理解できませんでしたじゃなくて
自分の全能力をかけて理解しろ。
68:nobodyさん
07/11/29 20:35:01
翻訳が下手なんだろ。
原文読んでみたら。
69:nobodyさん
07/11/30 11:53:24
それだと英語は読めませんっていいそうだな
70:nobodyさん
07/11/30 12:03:53
>>65
まずpeclコマンドがあるか調べる
$ which pecl
パスが出てくるなら入ってる、not foundなら入ってない
特段の変更無くインストールしたって言ってもソースから入れたのか
ディストリのパッケージシステムで入れたのかconfigureでも色々変わってくる
pearを入れたらpeclコマンドも付いて来たと思う
ソースからphpを入れてる場合、configureでpearインストールを
offにしてない限りはpearが入るので普通はpeclも入る
パッケージでphpを入れただけの場合はおそらくpearは入らない、
debianではphp-pearというpearのパッケージにpeclコマンドが同梱されている
俺はdebianを使っているのでBSDのportsが
どういうパッケージ構成かは知らないが
おそらくportsでも同じようにpearのパッケージに含まれてるんじゃないかと思う
なのでパッケージで管理してるならpearのパッケージを入れてやれば良い
基本的にこういうのはUnix/Linux周りの話だ
これという回答は環境によるのでこれくらいしか答えられん
71:nobodyさん
07/11/30 12:14:41
俺はportsでpear入れるの嫌だなぁ。
pearがパッケージになってるのに、
それをさらにportsするってあんまり意味がない。
72:71
07/11/30 12:16:31
>>71はPEAR自体ではなく、PEAR内の様々なパッケージにおいて。
73:70
07/11/30 12:55:41
勘違いされてるとアレなので、
>>70でpearのパッケージと書いてるのは
「PEAR自体(PEARインストーラ)」のこと
あとそれが良い悪いの話じゃなく
あくまでpeclインストールにおける説明の話
>>71
もちろん俺も「PEARモジュールのパッケージ」はPEARで入れている
aptでPEARモジュールを入れたりはしないし俺も嫌だ
74:nobodyさん
07/11/30 13:09:33 BdEY/zDV
>>70
現時点で、pecl コマンドは存在しています。
そのコマンドがどの時点でインストールされたのかを把握したいのです。
サーバ管理者と pecl について認識の違いがありまして。
> ソースからphpを入れてる場合、configureでpearインストールを
> offにしてない限りはpearが入るので普通はpeclも入る
まさに知りたかった核心部分です。ありがとうございます。
75:nobodyさん
07/11/30 17:17:27 BdEY/zDV
> PHP5の仕様としてpecl(の管理プログラム)が導入されますが、
> peclの拡張モジュールを導入しなければ、
> 正常に動作することは御座いません。
というのは、正しいのでしょうか?
76:nobodyさん
07/12/03 14:41:35
ローカルではPEARのインストールできたのですけど、レンサバではインストールできないってことはありますか?
ちなみに候補はロリポ、ハッスル、tok2です。
77:nobodyさん
07/12/03 18:37:46 L6QEctwt
そんな高度なこと聞くな
78:nobodyさん
07/12/03 18:44:44
レンサバによるんだろうが、最悪
ローカルでインストールしたPEARをフォルダごと、
レンサバに転送すれば使える
79:nobodyさん
07/12/08 01:05:05 RahyBUvh
>>76
go-pearでインストールするのが楽だとおもう。
URLリンク(www.google.co.jp)
80:nobodyさん
07/12/10 09:19:37
>>76
共有ホストでの PEAR のローカルコピーのインストール
URLリンク(pear.php.net)
81:nobodyさん
07/12/13 20:23:04 cpa1InAO
携帯サイト用にKemp上でNet_UserAgent_Mobileを使ってるんですが
Fatal error: Call to a member function getModel() on a non-object in Net/UserAgent/Mobile.php on line 170
となってはまってしまってます。同じ症状なった方いますか?PHPは5.2.5です。
82:nobodyさん
07/12/18 12:08:19 BXvnHaJk
最近pearはじめました
$DB = NewADOConnection(_DB_TYPE);
$DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME);
$table = _DB_SALOON_KIHON_TB;
$sql="select * from ".$table." where uId = ".$_SESSION['uId'];
$sqlResult = $DB -> Execute($sql);
$obj = $sqlResult->fetchnextObject();
として、以下を実行しても値が取れないんだけどどこが問題ですか?(接続などはOKです)
echo $obj->Fields[loginPass];
83:nobodyさん
07/12/18 12:31:36
print_r($obj->Fields);
の結果は?
84:nobodyさん
07/12/18 12:48:58 BXvnHaJk
>>83
ありがとう それの結果は戻ってきません
print_r($sqlResult); は配列?で大量に戻ってくるんですが…
85:82
07/12/18 18:37:51
解決しました 解決じゃないんだけど、
$obj->カラム名というやり方で目的は達成できたということで…
>>83 ありがとう
86:nobodyさん
07/12/18 22:06:17
>>84
var_dump($obj);の結果は?
87:nobodyさん
07/12/31 15:45:26
peclのid3を
pecl install id3
ってやって全部うまくいって入ったんだけど
入れた後はどうやったらその関数使えるようになるの?
インストールしたあとすぐにつかえるとおもって
<?php
print_r(id3_get_tag("test.mp3"));
?>
ってファイル作ってもなにも動作しないや・・・
なんか設定必要?
一応アパッチの再起動かけたけど駄目だった
88:nobodyさん
07/12/31 16:08:48
>>87
php.ini に直接か php.d/id3.iniを作って
extension=id3.so //id3.soであってるかどうかは知らん。
と書かなきゃいけないんじゃね。
その後、apache再起動。
もしくはdl()でロードするとか。
89:nobodyさん
07/12/31 17:52:36
>>88
php.iniに
extension_dir = "/usr/lib/php/modules"
って書いてあって
/usr/lib/php/modulesには
id3.soが入ってるからいいかなぁって、おもったけど
90:nobodyさん
07/12/31 18:13:33
>>88さんのとおりやったらできた
ありがとうございます
91:nobodyさん
07/12/31 18:30:34
いや、そこは URLリンク(jp.php.net) を見て、
extension_dirと extensionの違いが分かりました、とかそういう自己レスが欲しいところかと・・・
92:nobodyさん
07/12/31 21:02:43
>>91
それはphp.iniに書いてある
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
って所読んだら
extension_dirはモジュールファイルが置いてある場所の指定だけで
extension=ext.soを使って動的に読む込むという風に自己解釈して終わらせちゃいました。
すみません リンクを読んで勉強したいと思います
93:nobodyさん
07/12/31 21:12:02
どうでもいいことなんだけど、いちいち言い訳をしないと前に進まない奴なんだな。
まぁ、言い訳ばっかりして、ちーとも前に進まない輩も多いのでまだマシなだけどな。
おまけに2ちゃんねるで鵜呑みにするのも危ないが... まぁがんばれ。
94:nobodyさん
07/12/31 21:49:50
どうでもいいことなんだけど、謝ることより他に言うべきもっと大事なことがあるだろうと・・・
95:nobodyさん
08/01/06 15:06:56
pear.php.net 死んでる?
96:nobodyさん
08/01/06 15:56:58
死んでる。Webも見れんし、インストールもできん。日曜プログラマの俺涙目・・・
97:nobodyさん
08/01/06 19:50:09
復活!
98:nobodyさん
08/01/06 23:22:07
お色直ししてました。
pearコマンド(接続先も)も変わったので、使っている方はご注意あれ。
99:nobodyさん
08/01/07 03:57:18
ふざけんなよ
100:nobodyさん
08/01/15 19:48:26 l6BbRMgw
質問させてください。
現在、PHP 4.3.9が稼動している共用レンタルサーバにて
自分が扱えるディレクトリに FTP クライアントを使って
パッケージ・マネージャを設置し、ブラウザでアクセスする形で、
PEAR を使える環境を整えたく思っています。
そこで URLリンク(pear.php.net) にブラウザでアクセスして
そこで表示されるソースを go-pear.php として保存、
これをサーバにアップロードして、ブラウザでアクセスしたのですが、
「Downloading package: ***」のところで反応が無くなってしまいます。
どのパッケージをダウンロードしている所で止まるかは、
毎回変わるのですが、頻度としては「HTML_Template_IT-stable」か、
「Net_UserAgent_Detect-stable」の所でダメになることが多いです。
どのような方法を使えば PEAR を使用できるようになりますでしょうか?
どなたかご教示ください。よろしくお願いします。
101:nobodyさん
08/01/15 20:06:08
>>100
共有サーバの設定でスクリプトがタイムアウトしてるんじゃないかな
共有サーバでPEAR使うならローカルに一旦落としたのを
FTPでそのままアップするのが一番問題無くて吉
特にあんまりPEARに慣れてない人はね
webインターフェイスのパッケージマネージャは
ローカル環境か専用サーバで使ってください
102:100
08/01/15 20:35:16 l6BbRMgw
>>101
レスありがとうございます。
実はローカル(WinXP、Win2K)でもインストールを試してみたのですが、
全く同じ結果になってしまっています。
ローカルで試すと、>>100 の時点で Apache2 に CPU が占有されたまま、
半フリーズ状態になってしまいました。
ちなみに go-pear.bat を実行する方法でも失敗しています。
(これでの失敗の状況は、今回のものとは違いました)
pear.php.net/go-pear で表示されるソースには
「PHP Version 5」と書かれているので、PHP4以下では動作しないのかも、
などと思っていますが、これも全く確証がありません。
重ねてで恐縮ですが、何卒お知恵をお貸しください。
よろしくお願いします。
103:nobodyさん
08/01/15 22:26:43
>>102
webインターフェイスの方はあまり使わないから何とも言えないけど、
パッケージのダウンロードがひとつも成功せずにフリーズするなら
ファイアウォールとかでネットワークが外へ取りにいけないとか?
URLリンク(pear.php.net)のソースはPHP 4.3以上はサポートしてるはず
go-pear.batはエラーメッセージがどう出てるかによる
あと5.2.1かそこら辺のgo-pear.batはバグがある
webインターフェイスのは正直エラーがわかりにくいので
cliインターフェイス(go-pear.bat)のやり方を調べた方がいいと思う
104:100
08/01/15 23:15:02 l6BbRMgw
>>103
レスありがとうございます。
この1週間ほどずっとうまくいかなかったので、レスを頂けて大変嬉しいです。
(1/2) (長いので、分割して書き込みます)
まず、Windows 版 PHP4.3.9 に付属していた go-pear.bat を実行すると
「install ok: XML_Parser 1.0.1 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
\gop(ここはその時々で変わる).tmp\PHPUnit-0.6.2". Invalid tgz file.」
とエラーが表示されました。
そこで PEAR/go-pear.php 内の
162行目の「'PHPUnit-0.6.2'」を「'PHPUnit'」に、
618行目の「$url = "URLリンク(cvs.php.net)";」を
「$url = "URLリンク(cvs.php.net)";」に、
632行目の「$url = "URLリンク(cvs.php.net)";」を
「$url = "URLリンク(cvs.php.net)";」に、
646行目の「$url = "URLリンク(cvs.php.net)";」を
「$url = "URLリンク(cvs.php.net)";」に、
それぞれ書き換えて再試行するとインストール自体は成功しました。
しかし PEAR_ENV.reg を適用して再起動後に
「pear upgrade-all」や「pear install HTTP_Download」などを実行しても
「HTTP error, got response: HTTP/1.1 404 Not Found
Didn't receive 200 OK from remote server. (HTTP/1.1 404 Not Found)」
と表示されてパッケージの取得ができず、使用したいライブラリが使えない状態でした。
105:100
08/01/15 23:15:33 l6BbRMgw
(2/2)
次に、pear.php.net/go-pear で取得したソースを
go-pear.php として go-pear.bat を実行してやりなおすと、
「Fatal error: Call to undefined function: staticpusherrorhandling() in
C:\php\temp\gop(ここはその時々で変わる).tmp\PEAR\Downloader.php on line 279」
となり、処理がストップしました。
このエラーの一時ファイル内の Downloader.php の279行目を見たくても、
処理中に一瞬で削除されて取得できず、どうしても解決策が練れませんでした。
そこでブラウザでアクセスでのインストールを試行した結果は以下の通りになりました。
PHP4.3.9 の go-pear.php(Version 0.2.2)を使用
「Fatal error: Undefined class name 'pear' in C:(doc_root)\PEAR\go-pear.php on line 681」
PHP4.3.9 の go-pear.php 改造版(Version 0.2.2)を使用
「Fatal error: Call to undefined function: staticpusherrorhandling() in
C:\WINNT\TEMP\gop(ここはその時々で変わる).tmp\PEAR\Command\Install.php on line 548」
pear.php.net/go-pear で取得した go-pear.php(Version 1.0.2)を使用
途中でフリーズ。
以上がこれまでに試行錯誤したまとめです。
長くなりましたが、どうぞよろしくお願いいたします。
106:nobodyさん
08/01/16 00:15:21
5系列にするのが一番いいけど、4系で入れたいなら
URLリンク(www.php.net) に4系のWindowsのパッケージがあるから
とりあえず一番新しいのにした方が良いかと
4.3.9でもreleaseの日付見ると4年近く前だしさすがに古いと思う
107:106
08/01/16 00:46:59
ああ、レンサバとバージョン合わせてて4.3.9から変えられないってことなら
最新のパッケージから解凍して出来るPEARディレクトリを
4.3.9のPEARディレクトリにまるごと上書きすれば最新のgo-pearで動くと思う
108:100
08/01/17 02:26:18
>>106-107
相談に乗っていただいてありがとうございました。結果を報告します。
結論から言うと、PHP4.3.9 の環境下では PEAR をインストールすることができませんでした。
PEAR 1.6.2 のパッケージを該当フォルダに上書きしても、同様に
「Fatal error: Call to undefined function: staticpusherrorhandling() in...」のエラーが出て
インストールに失敗しました。
そこでヤケクソで別環境を用意し、PHP5.2.5を稼動させてから go-pear.bat を実行すると
インストールすることができました。
PHP5 のインストールは「PHP5.dll」が無かったりして大変でしたが、
これで PEAR の実行環境自体は整いました。
今後はこの環境で整えたパッケージを PHP4.3.9 環境に持っていっても
使えるかどうかを試行錯誤することになるかなと思います。
アドバイスいただいてありがとうございました。
109:nobodyさん
08/01/17 10:46:57 O85eEBCt
PEAR::DBで、最後に送信したクエリがlast_queryで残りますが、
それによって返ってきた値はどこに入るのでしょうか?
クエリが実行されていなかったので、何かPEARで取得できない特殊なエラーでもあるのではと思いました。
実行クエリ
INSERT INTO hoge (id,name,address,telephone,email,keyword,catch_copy) VALUES (60006,'test','東京 ','','','','test')
print_r(DBオブジェクト)で中身を見ても、特にエラーが発生した様子はありません。
ただ、クエリが実行されていませんでした。
110:nobodyさん
08/01/17 12:03:30
>>109
DB::isError($result)がtrueなら
DB側からのエラーが戻ってきてると思うんだが。
111:nobodyさん
08/01/17 13:08:27 O85eEBCt
>>110
PEAR::isError()で確認してみましたが、Falseでした。
112:nobodyさん
08/01/17 14:44:06
マルチ乙
113:nobodyさん
08/01/19 19:00:56 FuloTUhn
pear::calenderを使ってみようと思ってます。
で、いろんなサイトのサンプルを見ると正方形型の(土曜で次の行に折り返す形の)
カレンダーばかりです。
月頭から月末までタテに書いていくタイプのカレンダーって作れますか?
左端に日・曜日を表示して、その右側にイベント名を入れる形で
スケジューラに利用したいんですが…
114:nobodyさん
08/01/19 19:02:27
できるよ
115:113
08/01/19 19:04:44 FuloTUhn
>>114
すばやい回答ありがとうございます!
参考になるサイト、ご存じないでしょうか?
ググっても出てこないんですよねー それくらい自分でやれってことかなぁ
116:nobodyさん
08/01/19 19:06:54
>>115
URLリンク(pear.php.net)
117:113
08/01/19 22:20:54
ありがとう 確かにマニュアル見るのが一番ですね
サンキューです
118:nobodyさん
08/01/21 18:09:31 kkXgkN55
PEAR::DBで、INSERTはautoExecuteで自動的にエスケープをして放り込んでくれますが、
SELECT文を簡単に使う方法などありませんか?
どうしてもMySQLとPgSQLで書き方が違うので、データベースを移す場合にSQL文を書き換えなくてはいけません。
(CONCAT⇔||や、LIMIT 1,10⇔LIMIT 1 OFFSET 10など・・・。)
119:nobodyさん
08/01/21 18:53:15
細かい方言は振り分けるか個別に書くしかないと思うよ
limit辺りまでならの文法の差を吸収してくれるライブラリもあると思うけど
(QueryToolとかZend_Dbとか)
同時にMySQLとPostgresを絶対対応させないといけない
局面なんてそうそうないし、とりあえずどちらかに絞り込むか、
該当箇所をラップするように自分で書いておけばいいんじゃないかね
120:nobodyさん
08/01/24 14:43:29 3n5ny/+b
>>116
俺の探し方が悪いのか、Amazonクラスのマニュアルが見つからないんだけど、
あれば場所を教えて貰えませんか?
121:nobodyさん
08/01/24 18:00:59
この辺?URLリンク(pear.php.net)
122:nobodyさん
08/02/11 16:44:01 smM9I7ZN
pearが使用できないので教えて下さい。
状況としてはURLリンク(ml.php.gr.jp) に似ています。
違いはwindows 98se、 PHP 5.2.5 エラー表記最後の1行です。
PHP_PEAR_INSTALL_DIR is not set correctly.
Please fix it using your environment variable or modify
the default value in pear.bat
The current value is:
C:\php\pear >> 自分のはECHOはOFFになります。
それで URLリンク(ml.php.gr.jp) にsetを確認とありますが、自分のは
PATH=C:\WINDOWS;c:\windows;c:\windows\COMMAND;C:\PERL\BIN;C:\PHP;いろいろ
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4 P330
TMPTMPTMPTMPT=@includ
PMTPMTPMT=@include_path@
"PHP_PEAR_INSTALL_DIR=C:\php\pear"
"PHP_PEAR_BIN_DIR=C:\php"
"PHP_PEAR_PHP_BIN=C:\php\.\php.exe"
と表示されます。"PHP_PEAR 関連の項目が3つしか表示されませんが、ここがおかしいのでしょうか?
他サイトを見た感じ、沢山ありそうなのですが…
123:122
08/02/11 16:45:33
続きです。setでは下記のように出て来ないといけないのですか?
PHP_BIN=cli\php.exe
PHP_PEAR_BIN_DIR=c:\php
PHP_PEAR_DATA_DIR=c:\php\pear\data
PHP_PEAR_DOC_DIR=c:\php\pear\docs
PHP_PEAR_INSTALL_DIR=c:\php\pear
PHP_PEAR_PHP_BIN=c:\php\cli\php.exe
PHP_PEAR_SYSCONF_DIR=c:\php
PHP_PEAR_TEST_DIR=c:\php\pear\tests
また、%PHP_PEAR_PHP_BIN% -C -d output_buffering=1 -d include_path=%PHP_PEAR_INSTALL_DIR% -f %PHP_PEAR_INSTALL_DIR%\pearcmd.php
も動作しませんでした。
124:nobodyさん
08/02/11 22:21:50
今試しにwin2000で久しぶりに入れてみたけどsetでその3つだけだぜ
4系と5系でのgo-pear.batの違いじゃないかな
go-pear.batがうまくいってないんじゃね?
もっかい実行してみて最後にエラーらしきメッセージ出てないか見てみ
125:nobodyさん
08/02/12 01:47:37
>>124
ありがとうございます!
go-pear.batは最初の1回目はエラーもなくc:\php>に戻ってきますが、2回目以降は最後の「なにかキーを」までいって
エンター押すと固まります。また、pear.batをコマンドからではなく、ダブルクリックで実行すると同じく固まります。
1度目のgo-pear.batではレジストファイルもちゃんと作成されます。
126:nobodyさん
08/02/16 04:20:28 XZa8LnJy
はじめまして、質問です。
最近、本を買ってPEARの勉強を始めました。
HTML_Menuでメニューを作っているのですが、フレームが1で文字が大きいため、
フレームを0、文字を小さく変更したいと考えていますが、どのようにしてデザインを変更すればいいのかわかりません。
本にはスタイルシートを使えば見栄えをよくできるとだけ書いてありますが、
肝心のスタイルシートを使っての設定方法が書かれていません。
どうすればスタイルシートを設定して、デザインを変更できるのか教えてください。
よろしくお願いします。
127:nobodyさん
08/02/16 10:19:44 qdy/p4CU
>>126 かわいいなw
スレリンク(hp板)
128:126
08/02/16 14:28:13 ITDntNaA
>>127
すいません。スタイルシートは一通りわかっています。
HTML_Menuのデフォルトの設定にスタイルシートをどう適用させるのかがわからず困っています。
129:nobodyさん
08/02/16 16:42:22
>>128
何のことかよく分からんがテンプレートを変更すれば見た目は変わる
URLリンク(pear.php.net)
130:nobodyさん
08/02/20 19:22:52 5Hu81SpE
mail_queueについて質問です
例えば1000通のメールを送りたい場合で
$max_amount_mails = 50;
$mail_queue =& new Mail_Queue($db_options, $mail_options);
$mail_queue->sendMailsInQueue($max_amount_mails);
で50通ずつメールを送る設定にしたとき、
cronの設定は10分おきぐらいに設定しないといけないのでしょうか?
もしくは1日1回cronをまわせば自動的に分散して送れるのでしょうか?
1000通も実際に送るということが試せないので知っている方がいま
したらお願いします。
131:nobodyさん
08/02/20 22:42:10
PEARのDBとかMailとかがダウンロードできなくなってしまったんですが、
ダウンロード先がかわったんでしょうか?
そういったお知らせはどこで知ることができますか?
132:nobodyさん
08/02/21 18:02:31
pearコマンドから普通に落とせるけど
133:nobodyさん
08/02/23 14:35:35
pearのオリジナルパッケージをつくりました。本家に載せれるほどのものではありません。
フリーのpearサーバーないでしょうか
134:nobodyさん
08/02/23 16:34:45
自分でpearサーバ立てて公開するか、
とりあえずパッケージのurlを公開したら
pearコマンドで入れれるのでいいんじゃない
135:nobodyさん
08/02/25 21:15:39
やはり無いですか。
ローカルパッケージにしてGoogleのプロジェクトホスティングにファイルとしてアップします。
136:nobodyさん
08/02/27 04:10:44 aZInqlVM
すいません、自分なりに調べたのですがわからなかったので質問させてください。
HTML_QuickFormで、フォームより入力された数値の比較をしようとしています。
イメージ的には
0 < $sever < 32 であればOKという感じの比較をしたいのですが、
$form->addRule("sever","サーバー番号は1〜31でお願いします。","compare",array(0,32),"client");
では、まったくうまくいきません。
フォームで入力された数値を、addRuleで比較する場合にはどのようにすればいいのでしょうか。
よろしくお願いします。
137:nobodyさん
08/02/27 04:46:47
URLリンク(pear.php.net)
を見ると、compareはある2つの要素に対して用いる規則じゃないか?
規則表の下に
>組み込みの規則の使用法は、パッケージに含まれる rules-builtin.php で網羅しています。
>rules-custom.php では、独自の規則クラスの使用法および callback 型の規則の使用方法を説明しています。
>ここでは、数値が最大値と最小値の間にあることを調べるために NumericRange クラスが含まれています。
とあるからこれ見てみると良いかも。
138:nobodyさん
08/02/27 12:10:10
PEARのMail/mimeDecodeで本文を取得するときって、
マルチパートのとき自動的にやってくれないの?
139:nobodyさん
08/03/01 04:14:43 UQ92wv39
質問です。
以下のクエリ(?)を実行したところ、データベースは作成されたのですが、
テーブルが作成されませんでした。
なぜテーブルが作成されなかったのかアドバイスをお願いします_(._.)_
なお .read コマンドで試したところテーブルは作成されました。
$dsn = 'sqlite:///./db;
$db = DB::connect($dsn);
if(DB::isError($db)){
die("接続失敗:".$db->getMessage());
}
$sql = 'CREATE TABLE member(
id INTEGER,
username VARCHAR(32),
password VARCHAR(50),
PRIMARY KEY(id)
)';
// クエリー実行
$db->query( $sql );
// エラーチェック
if(DB::isError($db)){
die("テーブル作成失敗 : " . $db->getMessage());
}
$db->disconnect();
140:139
08/03/01 13:46:19 5AgmHkpD
自己解決しました。
なぜエラーチェックが動かなかったのか、もう少し勉強してみます。
141:nobodyさん
08/03/03 11:45:17
PEAR::DBで一括してデータを格納するときにautoExecuteのINSERTを繰り返すと処理とまらね?
メモリ関係だと思うんだが、これってPEAR側のバグなのかな?
一応memory_limitを無制限にしてるんだが・・・。
何が言いたいかというと、PEAR死ね
142:nobodyさん
08/03/03 13:04:39
トランザクションが膨れ上がってるだけじゃないの
143:nobodyさん
08/03/03 20:44:01
何件ぐらいしてるのか知らないけど、1万件ぐらいじゃ止まらなかった。
何が言いたいかというと、PEARのせいにするな
144:nobodyさん
08/03/03 23:03:13
HTML_QuickForm_inputの拡張クラスが一杯揃っている所ってないかな?
しこしこ自分で作っているが車輪を再発明しまっくってんじゃないかと思うと心が折れそう
145:nobodyさん
08/03/03 23:16:04
php.根tにあった。邪魔した。
URLリンク(pear.php.net)
146:nobodyさん
08/03/07 18:12:23 9MLD2lOu
pear DBを使っているのですが、
mySQLに接続できず、
$db = DB::connect($dsn);
でエラーオブジェクトが帰ってきます。
$db->getDebugInfo();を行ってみたところ
Unable to include the DB/.php file for ''
と表示されてしまいます。
どなたか原因がわかりますでしょうか?
よろしくお願いします。
ちなみにPHPのバージョンは4.4.4です。
147:nobodyさん
08/03/07 18:19:17
その$dsnがおかしい
148:146
08/03/07 18:24:29 9MLD2lOu
>>147さん
解決できました!
147さんの言うとおり
$dsnの指定が間違ってたみたいでした。
そんなのすぐ確認しろって感じですよね・・・
ありがとうございます!
149:nobodyさん
08/03/09 19:02:03 /9XBqrew
Win2000PRO、PHP Version 5.2.5、MySQL Version 5.0.45を使っています。
今、はまっているところがありまして、
データベース側は「userID」で登録している項目を
$userID = $authobj->getAuthData('userID');
で「userID」と大文字を入れると値を取得できません。
$userID = $authobj->getAuthData('userid');
と小文字に直すと正しく値を取得することが出来ます。
これはauthの仕様なのでしょうか?
150:nobodyさん
08/03/12 18:44:16 hBrL3vQ0
PEAR:1.7.1
PHP:5.2.1
list-all しても、pear/HTMLとかが出力されません。
1年くらい前に触った時は大量のリストが出力されていたんですが、
いつの間にか全部のパッケージを出力しなくなったんですか?
151:nobodyさん
08/03/15 13:03:11
pear channel-update pear.php.netはした?
152:nobodyさん
08/03/17 15:08:36 jieJ3Amr
>>151
チャネルのアップデートもやってみたんですが、pear/Mailとか
System_xxxxとかXML_xxxxあたりしか出力されません。
例えば install HTML_AJAX とか、個別指定すれば導入はできるん
ですけどね…。
153:nobodyさん
08/03/26 15:01:18 ynVuNR2N
こんにちは
マイクロソフトのliveページなどでログインして情報を取得したいのですが
PEAR HTTP/Clientでログインページにいくと
<noscript>
<meta http-equiv="Refresh" content="0; URL=URLリンク(javas)をonにしてね.html"/>
</noscript>
に引っかかって警告ページに遷移してしまいます。
なにか良い方法はないでしょうか?
154:nobodyさん
08/03/26 16:16:59
javasってかわいいね
155:nobodyさん
08/03/26 16:56:16
>>153
再現するコード出して
156:153
08/03/27 09:49:47 giFwaQIZ
とりあえずgetしにいくと・・・
require_once 'HTTP/Client.php';
$client = new HTTP_Client();
$client->get('URLリンク(login.live.com)
?wa=wsignin1.0&rpsnv=10&ct=1206578311&rver=
4.5.2135.0&wp=MBI&wreply=https:%2F%2Flive.xbox.com
%2Fxweb%2Flive%2Fpassport%2FsetCookies.ashx%3Frru%3
DhttpZ3AZ2FZ2FwwwZ2ExboxZ2EcomZ2FjaZ2DJPZ2Fde
faultZ2Ehtm&lc=1041&cb=B001041httpZ3AZ2FZ2Fw
wwZ2ExboxZ2EcomZ2FjaZ2DJPZ2FdefaultZ2Ehtm&id=66262');
$response = $client->currentResponse();
var_dump($response);
157:nobodyさん
08/03/27 18:48:35
>>153
リダイレクトしないようにすればいい
$client->setMaxRedirects(0)して自分でハンドリングしろ
158:153
08/03/28 00:22:16 t6SqTPqD
>157
すいません勉強不足でした。教えていただいたプロパティでジャンプヘッダーを飛ばし、無事postしました。
レスポンスには
<noscript>
サインインするには JavaScript が必要です
<meta http-equiv="Refresh" content="0; URL=URLリンク(login.live.com)"/>
</noscript>
と
<body onload="javascript:DoSubmit();">DoSubmit()は下記のformをsubmitします。
<form action="URLリンク(live.xbox.com) 中略 /form>
ブラウザでのアクセスは、すぐにセキュリティの何がしでリダイレクトしていいですか?のダイアログがでますので
今度はform inputのとおりに更にpostしてあげたのですが、返ってきたのは
Object moved to here.と一言かかれトップページへ促すリンクが・・・
そのままトップをgetしてもサインインしている状態ではありませんでした。
試行錯誤しましたが解決策は見つからず、、、何か至らぬところがありますでしょうか?
159:nobodyさん
08/03/28 00:53:57
>>158
日本語でおk
160:153
08/03/28 09:26:37 AMHP0uBw
・ログインpost→レスポンス→どこかにリダイレクトするソース
リダイレクト切ってるから更にプログラムでリダイレクト先にpost→真っ白ページへ飛ばされる→サインインしてない
・ログインpost後のレスポンスをprintしてみる→ポップアップでセキュリティのないページへ云々→ok選択するとログイン後のページへ
何が違うの うわああああぁぁぁ
161:nobodyさん
08/03/28 13:10:12 ljd/Xy5A
ADODBを利用してスケジューラつくってます
各日ごとに、イベントが0のこともあれば複数のこともあるとして、
「日付:イベント名」という形の一ヶ月のカレンダーを作ろうとしてるのですが
うまくいかないです
まず、各日ごとのイベントの有無を確認し、あれば、その日にいくつのイベントがあるかを
チェックしようとしてたんですが、そこでつまづいています。
流れとしては、、
1)月間のイベントのある日を抜き出すSQLを実行 *この例では3月のイベントを取っています
(SELECT * FROM `schedule` WHERE evDay LIKE '2008-03-%' ORDER BY `evDay`)
2)返される結果を$scheResultとしてうけとり
3)$scheResult->field(num)の形で、日にち部分をチェックしてイベント日用の
配列に入れていこうとしています
配列の構造はこんな形になります(イベント日=>その日のイベントの数)
$evDayAry:Array ([2008-03-01] => 1 [2008-03-02] => 2 [2008-03-04] => 1 …)
[つづく]
162:161
08/03/28 13:10:44 ljd/Xy5A
[つづき]
ですが、以下のプログラムを実行すると、どうしても一番最初に配列に格納されるべき
日付のイベント数が一つ少なく入れられてしまいます
$evDayAry=array(); //イベントがある日を収める連想配列 [日にち]=>イベント数
while(!$scheResult->EOF){
if(!$evDayAry["{$scheResult->fields[8]}"]){
$evDayAry["{$scheResult->fields[8]}"]=1;
}else{
$evDayAry["{$scheResult->fields[8]}"]=($evDayAry["{$scheResult->fields[8]}"]+1);
}
echo "イベントID:".$scheResult->fields[0];
$scheResult->MoveNext();
}
[2008-03-01] => 2 となるべきところが [2008-03-01] => 1 になり、
[2008-03-01] => 1 となるべきところが何も格納されないようになります。
どこがおかしいのでしょう? adodbの内部カーソルの扱いが間違ってるんでしょうか?
どなたかよろしくお願いします
163:161
08/03/28 13:17:28 ljd/Xy5A
参考にしたページは、
URLリンク(www.souken.co.jp)
環境は
php5 mysql5 apache2 windowsXPpro です
164:nobodyさん
08/04/01 19:29:10 qrhpI2uM
こんにちは。
言葉足らずの質問になると思いますが、質問させてください。
QuickForm で、メンバーの追加や削除の機能を作っています。
submitボタンで、【追加】【削除】と実行処理の行う場所を選んで移動するのですが、
移動した先では、すでにsubmitボタンが押されたという判定がされているようで、
移動した瞬間に$form->validate()の内側の処理が実行されてしまいます。
例)【削除モード移動ボタン】→削除実行画面に移動→【削除処理実行ボタン】
※移動した時点ですでに処理実行ボタンが押されたと判定されている。
移動にはhidden要素でmodeを移動するようにしています。
このようにsubmitボタンを押して移動した先で、すでにsubmitボタンが押されていると判定されないようにするにはどうすればいいのでしょうか?
どうかアドバイスをよろしくお願いします。
165:nobodyさん
08/04/06 22:29:54 ZLf2Ky55
先生、MDB2のautoExecuteでJOINがしたいです。。。
166:nobodyさん
08/04/10 09:23:09
>>165
autoExecuteしなきゃ簡単だろうに。
167:nobodyさん
08/04/13 14:39:38 /XYVoWCv
オープンソースなので他に質問出来そうな場所がないので、
こちらで質問させていただくことをまず始めにお詫びします。
PEAR::Image_Graphを使用して円グラフを作成しています。
マーカー部分に、"項目名 XX%"の用に表示させたいと思っています。
項目名を表示する方法をわかる方がいれば教えてもらえないでしょうか?
168:nobodyさん
08/04/13 20:21:56
もうちょっと詳しく
169:167
08/04/14 06:56:40 N29rLXXj
円グラフの85.7%とか表示される部分(マーカー)にて
項目名を表示させたいと思っています。
$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_PCT_Y_TOTAL);
$Marker->setDataPreprocessor(Image_Graph::factory('Image_Graph_DataPreprocessor_Formatted', '%0.1f%%'));
とりあえずこれがマーカー表示処理です。
ですが項目名を追加する処理のサンプルとかを探しているのですが見当たらない状況です。
以上、お願いします。
170:nobodyさん
08/04/14 20:33:12
>>167,169
URLリンク(pear.veggerby.dk)
ここは見た?
Meat Exportのサンプルのことかな、多分。
171:169
08/04/14 21:01:51
>>170
返信ありがとです。
大体のソースはそこを見本にしています。
見た限り、そういったマーカー追加処理はなかったと思います。
念のため、も一度確認してきます。
172:nobodyさん
08/04/14 21:38:20
まあ最悪,クラスライブラリだし中見て編集しちゃえば
173:49です。
08/04/23 21:42:44 rNbxu3m+
linuxのyumでpearをインスコしたんですが、
これでもうpearは使えるようになったのでしょうか?
CENT OSです。
Linux使っている方教えてください。
174:nobodyさん
08/04/23 22:04:52
とりあえずpearコマンドくらい打てよw
175:173です。
08/04/24 19:45:25 ktKwlGX2
pearコマンド打ちました。
そしたら
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/msql.so' - /usr/lib/php/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
PHP Warning: Module 'mysql' already loaded in Unknown on line 0
PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
DB 1.7.13 stable
PEAR 1.4.9 stable
XML_RPC 1.5.0 stable
ってでたんですが、
上のエラーはなんですか?
176:nobodyさん
08/04/24 20:12:24
書いてある通り、PHPの起動時に
msqlの共有ライブラリがロードできないってこと
とりあえずphp.iniで該当のsoのロード部分コメントアウトしたらいいんじゃない?
177:nobodyさん
08/04/25 02:34:35 OL2uupfE
ありがとうございます。
了解しました。
178:175です。
08/04/25 20:21:21 OL2uupfE
175です。php.iniで該当のsoのロード部分コメントアウトしたんですが、
エラーが消えません。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/modulename.extension' - /usr/lib/php/modules/modulename.extension: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/msql.so' - /usr/lib/php/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
PHP Warning: Module 'mysql' already loaded in Unknown on line 0
PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
DB 1.7.13 stable
PEAR 1.4.9 stable
XML_RPC 1.5.0 stable
179:175です。
08/04/25 20:22:13 OL2uupfE
php.iniはこの通りです。
なぜでしょうか?
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
If you wish to have an extension loaded automatically, use the following
syntax:
extension=modulename.extension
extension=msql.so
extension=mysqli.so
extension=mysql.so
extension=mbstring.so
For example:
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
なぜでしょうか?
180:nobodyさん
08/04/25 20:25:09
コメントアウトしてねーじゃん
181:175です。
08/04/25 21:01:26 OL2uupfE
コメントははずしましたが、エラーがまだでます。
180さんに言われて全部はずしてみました
php.iniはこの通りです。
;;;;;;;;;;;;;;;;;;;;;
Dynamic Extensions
;;;;;;;;;;;;;;;;;;;;;;
If you wish to have an extension loaded automatically, use the following
syntax:
extension=modulename.extension
extension=mbstring.so
extension=mysql.so
extension=mysqli.so
For example:
Note that it should be the name of the module only; no directory information
needs to go here. Specify the location of the extension with the
extension_dir directive above.
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4181日前に更新/154 KB
担当:undef