Archive for the ‘ PHP ’ Category
MYSQLに画像を入れるのエントリより。 $query = “INSERT INTO pic (id,pic) values (“. $num.”,”. //ID file_get_contents($_POST['pic1']).”);”; とか $db=DB::connect($dsn,$option); $rs=$db->query(“select * from pic where id=”.$_GET['id'].”;”); $row=$rs->fetchRow(DB_FETCHMODE_ASSOC); とか、BLOB型よりもwebアプリにおける基本的なセキュリティを学んだほうがいいと思います。 こういうのってよく分かってない人がかいた適当な技術書の影響とかなんでしょうねぇ。[ READ MORE ]
おっちゃんのメモ帳の画像のランダム表示というエントリより。[ READ MORE ]
最近、Pythonを弄り始めたのですが、やっぱりそれなりに違います。 やっと{}を使わないブロックにも慣れはじめてきたのですが、色々今までの言語とは違うことが多いですね。 仕事柄一番使っているPHPと比較した記事がPython本家にあったので、オレオレ訳してみました。 基本的にはPHP4との比較になるみたいなのですが、自分にとって重要でないところや、現実と違うところは省いていますので事実と違うところもあるかもしれません。[ READ MORE ]
ブラウザでアクセスすると証明書を受け入れるかどうかを聞いてくるようなサイトに対して、curlを使うには、以下のような処理が必要。 $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE)[ READ MORE ]
とりあえず以下を指定しておけばsymfonyが動きつつ、画像の生成とかもできる。 PHP5.1.6ベース。 #! /bin/sh # # Created by configure ‘./configure’ \ ‘–with-apxs2=/usr/bin/apxs2′ \ ‘–enable-mbstring’ \ ‘–with-zlib’ \ ‘–with-openssl’ \ ‘–enable-bcmath’ \ ‘–with-bz2′ \ ‘–enable-calendar’ \ ‘–with-curl’ \ ‘–enable-dba’ \ ‘–with-db4′ \ ‘–with-inifile’ \ ‘–enable-ftp’ \ ‘–with-gd’ \ ‘–with-ttf’ \ ‘–with-freetype-dir=/usr’ \ ‘–enable-gd-native-ttf’ \ ‘–enable-gd-jis-conv’ \ ‘–with-gettext’ \ ‘–with-jpeg-dir=/usr’ \ ‘–with-png-dir=/usr’ \ ‘–with-ldap’ \ ‘–with-mcrypt’ \ [ READ MORE ]
日本では全然知名度ないようですが、symfonyも最近飽きてきたし、コンポーネント志向のフレームワークでもやってみようかな。 http://tigermouse.epsi.pl/doku.php[ READ MORE ]
仕事でPHPでグラフ作成ライブラリを作っています。デフォルトの文字だと汚いのでカスタムフォントを指定しようとして、かなりはまりました。 基本は参考にしたサイトに記載してある通りなんですが、注意点としては ・フォントのマッピングはfontmap.txtに書く ・fontmap.txtはPEARディレクトリのImage/Canvas/Fonts/fontmap.txtで、他のディレクトリに用意することなどはできない。 ・フォントを置くディレクトリは定数IMAGE_CANVAS_SYSTEM_FONT_PATHで指定できる 結局、フォントを置くディレクトリを自由に決められてもマッピングファイルはPEARディレクトリ以下に固定で、マッピングファイルとフォントは別々に管理しなければならないのが痛い。 と、隣のPHPの偉い人に言ったら、「コミュニティにパッチを投げるか提案してみれば」って事で、そうしてみようかと思います。[ READ MORE ]
InnoDBのテーブルに対しても $ symfony propel-build-sql を行うとschema.sql内ではCREATE TABLE文でType=MyISAM;となっている。 propel/creole周りのバグかな?[ READ MORE ]
日経SYSTEMSの2006年8月号の220ページの記事の PHPキャッシュを使い、生活情報ポータルを高速化 の記事でZend Platformの事例が紹介されていましたが、正直???な内容でした。 ニーズは 「開発スピードが速いことを重視した。しかも、できるだけ安価に作りたかった」 ということらしいのにZend Platformを選択するのはないんじゃないかなーって思ってます。 Zend Platformを導入した理由という図に3つ説明があるんですが、 理由1. キャッシュ機能を使い、PHPの処理負荷を抑えられる 理由2. Session Clustering機能により、複数サーバ間でセッション情報を共有できる 理由3. 共通プラットフォームを導入することで、プログラム品質の均一化が図れる というツッコミどころ満載なすばらしい説明も。 “できるだけ安く”というところから行くと、理由1のキャッシュ機能ではZend Platform以外の選択肢としてはeAccelatatorなんかでまかなえるのではないかと思います。 理由2としては自分だったらZend Platformではなくて、memcached使います。Zend Platformのセッションクラスタリング機能はMySQLを使って実現している(だったと記憶してます。間違っていたらすみません)ので、勝手にMySQLがインストールされいつの間にか動いているという気持ち悪い状態。 で、理由3のプログラム品質の均一化が図れるっていうのは意味わかりません。どうしてプログラムの品質が均一化されるのでしょうか? サーバ側の機能を生かして、コーディング規約を守らせたり、バグを少なくできる仕組みがあるのかなぁ?Zend Studioも一緒に使うというなら、リモートデバッグなどで品質を向上させていけるのは分かるんですが、Zend Studioも開発者分だけライセンス買ってていうんだとしたら、命題のできるだけ安価っていう部分と反してないですか? Zend Platformは1CPUの時のライセンスが1年間のアップグレードサービスがあると48万円、なしでも18万円、2CPU以上だとそれぞれ78万、28万とライセンス費は決して安くはありません。 絶対的な金額ではもっと高い製品も存在するので、決して高いとは言いませんが、サーバ5台用意すると、1CPUで1年間のアップグレードライセンスがある場合だと、 48×5台 = 240万 最近はデータセンターでは設置スペースよりも電力の方が高かったりするので、2CPUを使った場合 78×5台 = 390万 かかります。 アップグレードライセンスがない場合ではそれぞれ年間18×5=90万、28×5=140万とそれほどお値ごろでもない費用がかかります。 3年ほどシステム運用をしたら、安くても270万、高いと1170万かかるわけで、これって全然安くないと思うんですけど。 理由1をeA、理由2をmemcachedで解決した場合、よく分からない理由3のためにこれだけの予算を割く会社がいたら、是非うちの会社にイイお値段で発注してほしいものです(笑) こんなので事例になるもんなんですね。 と、独りよがりなエントリを書いてみました(笑)。[ READ MORE ]
マニュアルどおりにやっても動かない。 [sfAutoloadException] Autoloading of class “self” failed. Try to clear the symfony cache and refresh. [err0003] のエラーが出てしまう。 デバッガで追っていってもいつも違う場所でコケる。 色々調べたところ、フォーラムで以下の記事を発見。 http://www.symfony-project.com/forum/index.php/m/7871/#msg_7871 5.1.2固有のバグですか…そうですか… 大人しくソースからPHP入れます。[ READ MORE ]