【PHP】PEAR Part3
ZendFrameworkって必要な部分だけ切り出して使えるもの? それって邪道だったりしない? 例えば zend/http 以下を引っこ抜いてって意味だったら 試してないけどたぶん動く 多分とか言う以前に、そもそも配布元がライブラリ別でも配布してるんだが・・・ おまいら公式サイトすら調べないんだな。 HTTP/Client使ってみたんだけど、 GET /hogehoge.cgi HTTP/1.1 Host: Host: fuga.com User-Agent: xxxxx : がブラウザ上に出てきちゃいます。消す方法はないのでしょうか?? 別スレで質問したのですが反応がございませんでしたので こちらにて再び質問させて下さい。 変数の中にURLを含む文字列が含まれているとして その中の特定の文字を正規表現を使用して一発で取得したいのですが どういう正規表現を記述すれば一度に取得出来ますか? 例) ▲変数の中身 あいうえお http://hogehoge.co.jp/name=tarou&age=25&nick_name=tarou_chan かきくけこ ▲取得したい内容 name > tarou age > 25 nick_name > tarou_chan ※正規表現が苦手なのでご指導の程お願い致します。 preg_match_all('|[&\?]([^=]+)=([^&]+)|', $var, $match); >>610 規制中で書き込めませんでした。 ありがとう。 いくらがんばってもpearがphpから見れないorz…。 レンタルのvps使ってて、/usr/share/pear以下に本体があるんだけど、include_path設定してもMail.phpが見えない。 メール受信してhoge.phpにパイプするところまでは出来ていて、そこからメール送信も出来ているので、あとは受信メールの細工だけということなので、pearを使おうとしてるのだけど、 //***hoge.php************************* $flg = 0; $file = "Mail.php"; if (file_exists($file)){ require_once($file); $flg=1; } //subjectに$flgをつけてメール送信 //******************************** という簡単なメール送信プログラムで、結果はいくらやっても「0」が帰ってくる。調べに調べた結果、どうやら権限的に「/usr/share/pear」にはアクセス出来ないらしい。 ということで、ローカルコピーとやらに手を出して、/home/user/pear以下にインストールして、シェルで確認して確実にその位置にファイルがあるのにも関わらず、 //***hoge.php************************* $chkflg = 0; $file = "/home/user/pear/php/Mail.php"; //この位置に確実にある if(file_exists($file)){ require_once($file); $chkflg = 1; } //メールに$flgつけて送信 //******************************** と絶対パスでやっても「0」が帰ってくる。 他人のサーバなので、他に悪い影響与えないように気を使いながら弄くり倒してて疲れてきた…。 pearと同じことが出来るpearじゃないお手軽なものって何かありますか?メールアドレスの取得とか、本文の取得とかが出来ればいいのですが…。 >>612 「/home/user/pear」以外の、例えばそのphpスクリプトを 置いてある場所の下に、pearとか作ってそこに置く。 peclとかと違って、pearはphpで出来たモジュール群なので 自作のモジュールとかと同じ扱いで構わない。 (go.pearとかincludeのところを手作業で直す必要があったかもしれん) >>613 レスthanks。 とすると、メール送信プログラムがある「/var/qmail/mailnames/ドメイン/メールアカウント/Maildir/」の直下にPEAR以下をインストールということ? 場所的に「go-pear」は使えない(webアクセスできない)ので、試しに実験で「/vhost/ドメイン/httpdocs/PEAR」に「go-pear」を使ってインストールしたら、確かにhttpdpcs以下のファイルからは見れるようになったのですけど、 実際にpearを使うのはhttpdocs以下じゃなくて、「/var/qmail/mailnames/ドメイン/メールアカウント/Maildir/hoge.php」になります。 やるとしたらコピーコマンドで「/home/user/pear」から「/var/qmail/mailnames/ドメイン/メールアカウント/Maildir/」にコピー? Eclipse All In Package を使ってPHPでコードを書いているのですが このパッケージには予めPearライブラリは最初から使える様になっているのでしょうか? ネットにつかがってなのでinstallが出来ないのと、installのバージョンが違うのでインストールが弾かれるます。 installのバージョンを上げたり出来ない環境なのですがmailをダウンロードしてきて/var/www/html内で解凍して includeでmail.phpを指定したりしても使えますか? pearパッケージを落としてきて入れればいいのでは? mailはsmtpも必要だった気がするけど mailとsmtpで連携とれなさそうだからダウンロードしてきたものを解凍して置いてもダメな気がする。 pear自体が入ってない状態でmailだけ入れてrequireで読み込んで使っても動くんだっけ? pearというベースは必須 なはず。 自信ないけど。 間違ってたら突っ込んで これは突込みがあったから間違っていると解釈するべきなのか ベースはないとあかんよ でもベースごとコピーでもなんでもいいから突っ込めば大抵うごくよ パスとかはようわからんからgoogle先生にでも聞いとき どこかでpear installして、pearのディレクトリ事ごっそりコピーして include_pathに設定するのが一番楽 Net_GeoIP::lookupCountryCode()のドキュメントで、 http://pear.php.net/manual/ja/package.networking.net-geoip.lookupcountrycode.php geoipdb.datはどこから持ってくるのでしょうか? updateすると自動的にgeoipdb.datも更新されるのでしょうか? MAILでprotocol指定してますが、mailで使えるプロトコルの種類はどれくらいあるんでしょうか? SMTP_Authには対応していることはテストしてわかりました。 pearのサイトを見てもprotocolについては特に見当たらなかったです。 検索の仕方が悪いのかも判りませんが情報あれば教えて貰えないでしょうか。 pearのmailが便利そうなんでダウンロードしたら中に require_once 'PEAR.php'; って書いてあります。 mailは単体では使えないんでしょうか? そうなんですか。 Pearのモジュールって単体で使えるもんだと勝手に思ってました。 一緒に入れて使ってみます。 はじめまして。 質問させてください。 xmlRPCを利用してFC2ブログに投稿しているのですが、改行が無視されてしまいます。 投稿以前の自分のサーバー上ではちゃんと改行しているのですが・・・。 FC2側で投稿時の「自動改行」の設定をいじったのですができませんでした。 MTのmt_convert_breaksを一応やったのですが、やはりできませんでしたorz よろしくお願い致します。 パッケージを手動でダウンロードしたのですがエラーがでました 何かコアのライブラリがないみたいなんですがコアになるライブラリはどこのページにありますか? 手動でダウンロードしたページに必要なモジュール並んどるがな pear.php.netよくみれ PEARのServices_Amazonを使っています。 ItemSearchでどうしてもカスタマーレビュー(またはレーティング) が取得できないのですが、なにか方法はあるでしょうか? とりあえずレスポンスグループに、↓を突っ込んで すべての戻り値を確認しながらやっているのですが(涙) Large,Images,ItemAttributes,OfferSummary,Reviews unixのシステムユーザ(/etc/passwd)で認証したいんですけど authでできるんでしょうか? WindowsでPEARをインストールしたいのですが、 1. go-pear.bat がない 2. 探してきたgo-pear.phpが「「Sorry! Your PHP version is too new (5.3.6) for this go-pear」 となって動かないという問題を抱えています。 成り行きは、 PHPのWindowsバイナリを http://windows.php.net/download/ から入手 PHPUnitやPHPDocumentorを使いたいのでPEARを入れたいと思う インストールフォルダに go-pear.bat がない http://pear.php.net/go-pear のテキストをダウンロードしてきて拡張子を .batにして実行 バージョンが新しすぎるというエラー で、途方に暮れている訳ですが正しくインストールするにはどういう方法があるでしょうか? 助けてください PEARでAUTHを使おうと思いインストールしましたが Fatal error: require_once() [function.require]: Failed opening required 'Auth.php' (include_path='.:/php/includes; .:/usr/local/lib/php/PEAR') in /usr/local/apache2/htdocs/Auth_Practice.php on line 2 のように出てきて、使えません。 環境は、ubuntu9でPHP5です。 $pear list では下のように出ますのでインストールできていると思います。 Package Version State Archive_Tar 1.3.7 stable Auth 1.6.4 stable Auth_RADIUS 1.0.7 stable Auth_SASL 1.0.4 stable ... php.iniでinclude_pathを触る必要があるとも思うのですが、いい情報がありません よろしくお願いします。 自己解決しました php.iniに include_path = Authフォルダーのあるパス を入れたらできました。 ここは一ヶ月に投稿が一つですか ずいぶん過疎ってますね。 PearのMail使ってるんですが auth = false としているのにサーバーから server does not support authentication とエラーを返されます。 サーバーはローカルサーバーで認証なしでリレーするようにしてるんですが なぜにサーバーからエラーがこういうエラーが帰ってくるのか分かりません。 auth = false以外にもやらないと認証しようとしてしまうんでしょうか? PEAR::Authで困っています。Authはログインページをecho文で生成するよう にあちこちで紹介されていて、例えば、典型的な方法、 $auth_login = new Auth("DB", $params,"loginFunction");// インスタンス生成 だと、loginFunction()でecho文を使ってログインフォームを作るのですが、 こうではなく、自分でHTMLでオリジナルのログインページを作ってからAuthのphpファイルを 呼び出して操作したい場合、インスタンス生成のときにどうやってPOST されてきたユーザ名(普通だったら$POST_['username'とか])とパスワード($POST_['password'とか])を Authに突っ込めば良いのでしょうか? よろしくお願いします。 自己解決しました ここは1ヶ月に一つの書き込みですね PHPを動作させる環境を作るのがうまくいかず困っています。 osはwindows 7です。 ttp://techblog.ecstudio.jp/tech-tips/amazon-api-ranking.html のサイトを参考に、あまのランキングを取得したいと考えています。 xamppは無事インストールできました。 しかし pear install -a HTTP_Request2-alpha をプロンプトで入力すると WARNING:channel "pear.php.net"has updated its protocols,use"channel-update pear.php.net" to update とでてうまくいかないので指示通り pear channel-update pear.php.netと入力しました。 アップデートはうまくいったみたいなので また pear install -a HTTP_Request2-alpha を入力すると エラーメッセージは表示されなくなったのですが、 サイトのようにHTTP_Request2-0.5.1.tgzがダウンロードできません。 2-0.3.1.tgzはダウンロードできました。 そのため環境を構築できず困っています。 いろいろぐぐってみたのですができませんでした。 (pear upgrade PEAR installer などやっても変わらず) よろしくお願いします。 HTTP_Request2を使ってるんですが サンプルを見るとHTTP_Request2_Exceptionをキャッチして$e->getMessage()などしています この、getMessageで返されるメッセージの一覧はどこかにないですか? 探し方が悪いのかも知れないですがマニュアル見ても見つかりません どなたかご意見お願いします 自分、ZF使ってるんでPEARって殆ど使わないんですが、これは便利ですげぇってのありますか? go-pear.phpでPEARのインストールを使用とすると --------------------------------- An Exception Has Occurred Unknown location: /pear/pear-core/branches/PEAR_1_4/PEAR.php HTTP Response Status 404 Not Found --------------------------------- となります。 解決策お願いします。 >>653 これ解決した?俺も同じ症状でインストールできなくて困ってるんだが PDOのことってスレチかもしれんが頼むわ。 bindParamって何個も繰り返すのは普通なん?メソッドチェーンみたいな感じの楽なのは無いんかね? >>656 サンクス。まさに俺がやりたいことを実行してる例だと思うんだけど素人のオイラには初めてみる書き方だ。 テーブル名の後にいきなりvalueでハテナ連発って当たり前なんですかね? sssdってのがハテナを表しててその後に変数を連続して入力すると順々に代入されてく感じなんだろうか。 $stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); $stmt->bind_param('sssd', $code, $language, $official, $percent); >>653 私もlolipopにgo-pear.php設置してみましたが、前はできたのにできなくなっていますね Unknown location: /pear/pear-core/branches/PEAR_1_4/PEAR.php HTTP Response Status 404 Not Found この部分は116行目付近にある 'PEAR.php' => 'http://svn.php.net/viewvc/pear/pear-core/branches/PEAR_1_4/PEAR.php?view=co', この記載が影響していると思います。 このURLにアクセスすると同じメッセージが出るので よくわかりませんがもうgo-pear.phpは使えないのかもしれません。 私は半分あきらめました。逆にgo-pear.phpのようなもので何かありましたら どなたか教えてください よろしくお願いします。 >>657 SQLインジェクション対策にはプリペアドステートメントが一般的だな 最近インストールできた人いる? >>660 を試しても30%で止まる Unknown location: /pear/packages/Archive_Tar/tags/Archive_Tar-1.3.7/Archive/Tar.php 分かる人いたら頼む >>662 go-pear.phpの120行前後の 'Archive/Tar.php' の行を 'Archive/Tar.php' => 'https://raw.github.com/pear/Archive_Tar/master/Archive/Tar.php', にすれば行けた。 ダウンロード先がphp.netからgithub.comに順番に移行してるらしいよ。 >>663 インストール完了した!! 助かったよ、ほんとありがとう >>664 出来たなら良かったw でもなんで公式のをアップデートしてくれないのかな? もう半年近くこの状態だと思うけど・・・ PEARとか全く使ってないな 最初勉強したcostが無駄だったような気もする 俺ZF使ってるから 自分はcake使った事が無いから分からないけど、cakeの場合はPEARがいいのかな? 併用とか PEARのMDB2で、 つまりは for (int $i=0; $i<10; $i++) { //begin transaction $mdb2->beginTransaction(); //create PreparedStatement $sql = 'SELECT COUNT(id) from ? WHERE user = ? ORDER BY created_at DESC, id'; $types = array('text', 'text'); $sth = $mdb2->prepare($sql, $types); $values = array($tablename[$i], $user_filter[]); //do query $res = $sth->execute($values); $sth->free(); $res = $res->fetchRow(); $count = $res['count(id)']; print "table :".$count."<br />\n"; } ってな感じに、大量のテーブルに対してそれぞれ順番に同じクエリを実行していきたいんだけど、 それってどうにかして可能ですかね? 上みたいにクエリ内で from ? ってふうにテーブル名を?に置き換えるとエラー出ちゃって。 MDB2を使ってAというテーブルから取得した結果をBというテーブルにインサート仕様としているのですがうまくいきません。 取得はうまくいくのですが、Bテーブルにインサートする際にループが一回で抜けてしまい1っかいめのループの1000レコードしか登録できません。 なぜ1回目でループを抜けてしまうのか原因がわかりません。 ご教示お願いします。 以下、プログラム ※Aテーブルのレコード数30万件 // Aテーブルよりデータを取得(15万件ほど) $result = $mdb2->query('select `product_id`, `product_title` from `tmp_mst_product` group by `product_id`'); // Bテーブルにインサート $meta = array(); while ($row = $result->fetchRow()) { $meta[] = "('".$row['product_id']."','".$row['product_title']."')"; if (count($meta) == 1000) { $mdb2->exec('insert into `mst_product` (`product_id`, `product_title`) values ' . implode(',', $meta)); $meta = array(); } } だめだな。 単純に2chスレの技術レベルが落ちたのか過疎ってるのか知らないが諦めろ metaが1000個でimplodeしたら、1000個の列なデータになっちゃわない? execしようとしてるクエリーをdebugなprintして手で実行してみたら? あと、mysql_error()も活用してみんしゃい すみません質問です。 pear入れた後、pearinfo.phpに アクセスしたところ、 config画面が表示されているんですが ページ最上部に Warning: lstat() [function.lstat]: Lstat failed for /var/cache/php-pear/ 6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid in /usr/share/pear/PEAR/REST.php on line 276 こんなエラーメッセージが表示されています。 解決するにはどうしたらいいのでしょうか? >>672 俺はキャッシュ関連で妙なメッセージやエラーが出た場合はとりあえず pair clear-cache することにしてるよ。そうするとたいがい正常に戻る。 根本的解決ではないのでまたなったりするんだけど キャッシュファイルのなんらかの理由でアクセス不能になったりって 多分pear側の理由であるんだよな。 >>672 もキャッシュファイルの情報が取得できないというわけだから、同じだと思う レス遅くなってすいません。 pear clear-cache でエラーが修正されました。ありがとうございました。 php初心者です。(基本MDB2しか使ってません) PEARも入れて試してるところで、セキュリティーとか移植性も利点なのですが ソース的にはphpから直接MySqlを叩くほうがシンプルかなとも思ってしまいます。 PEARを使ったら全てのDBアクセスはPEARを通すべきなのか ところどころでphp直が混じってもいいのか悩みどころです。 もう少しPEARに慣れるべきか、今回のアプリではPEARなしでも いけるのかも(ユーザーが書き込む事はないので)と思っています。 PEARをお使いの方はどうお考えでしょうか? >>675 PEARはない FW使うか、スクラッチならPDO >>676 やはりPEARはないですか、買った本に載ってたというだけなんです。 フレームワークも調べてみると習得に時間がかかりそうと書いてあるし PDOもPEARよりシンプルで速そうで良さげです。 でも結局PEARやPDOは、将来MySQL以外の使用にも対応する事が 主要なところかと思うので、初心者はカリカリと基本SQLを書いてた ほうが良いのかと思いました。もっと経験積んで選択したいところです。 >>677 PEAR使うにしてもDBの勉強しなくていいということではないからな send($address, $header, $msg); $addressが配列で仮に100件のメールアドレスを入れてる場合 存在しないアドレスが含まれていると 100件送信せずに途中で処理が止まってしまうものなのでしょうか? 存在しないアドレスだと分かるタイミングってどこか知ってるか? >>681 ありがとうございます。 そうですよね。。 そこでちょっと試してみたのですが メールアドレスの形式があきらかに間違っているアドレスが含まれてると1通も送られてこないんです。 これはsendの仕様でしょうか? >>663 でもダメでインストールができません。 Bootstrapping Installer................... Bootstrapping PEAR5.php............(remote) ok Bootstrapping PEAR.php............(remote) ok Bootstrapping Archive/Tar.php............(remote) ok Bootstrapping Console/Getopt.php............(remote) ok Extracting installer.................. Downloading package: PEAR............. Unknown or missing compression type (gz) で止まってしまいます。。何か方法はあるのでしょうか? pear.php.netの改ざん警告がgoogleで検出されてるんだがやられたのか? 【OS名】Debian 【PHPのバージョン】5.4.4 pecl_http 2.0.6 stable propro 1.0.0 stable raphf 1.0.4 stable HTTP_Requestを使おうと思ってpecl_http をインストールしたけど 実行するとエラーが出ますたすけて #!/usr/bin/php -q <? //require_once('HTTP/Request.php'); $a = new HttpRequest(); ?> $ ./a.php PHP Fatal error: Class 'HttpRequest' not found in /tmp/a.php on line 4 //require_once('HTTP/Request.php'); コメントアウトしてるじゃないか レンタルサーバにgo-pearでpearを入れました。そして一緒にインストールされたpeclを用いてブラウザ上からxdebug(2.2.5)をインストールしようとしたのですが、インストールに失敗します。 メッセージが途中で止まり、エラーなども出ていないようで、原因がわかりません。どうすればよいでしょうか。 (phpのエラーを吐くようにしても、set_magic_quotes_runtime()のDeprecatedしか出ません) サーバのOSはCentOS 5.10、phpのバージョンは 5.3.3です。 この現象はデフォルトのまま他に何もインストールしてない時も、phpunitをインストールした後も同様に発生しています(phpunitはpear.phpunit.deからインストール出来ました) 表示されたメッセージは以下のとおりです(ドメインなどはhogeに置き換えています。) ttp://www1.axfc.net/u/3279294?key=hoge pear:authを読み込んでる ページでGETパラメータを使っているところがあるんですけど http://www.example.com/example.php?id=1 認証されていない状態で直接このURLに行くと 当然ログイン画面が出るのですけど その後ログインすると GETパラメータが消えてしまいます。 認証後もGETパラメータを使うためにはどうしたらよいのでしょうか? 転職の際に必ず思い出してください。 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in 東京 ・転職会議で2.5点 ・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される 確かにw 2年ぶりだったのか? Smartyはどうなんだろうね? Smartyはスレすらないねw >>698 Smartyは良く使ってるよ。 Smartyはもう枯れた領域に入っていて特にスレを立てるほどのこともないんじゃない。 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE 今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、 元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。 一部で地獄を見ても。 https://twitter.com/yukihiro_matz/status/869061879389343744 367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/ 372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:??? Railsでシステム作って納品する ↓ Railsはマイナー、メジャーのアップデートが半年以内に必ずある ↓ 客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく ↓ 気づいてから1年以内に通知すれば、5年間無料保証ゲット ↓ つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな 376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS >>378 >>379>>375 客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう 営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。 こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。 これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。 保守に強い言語のみ生き残れる。 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 EK9CCPSUO8 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる