タグ

PHPに関するkammのブックマーク (136)

  • ElastiCache: AutoDiscovery をPHPで使う - aws memo

    ElastiCacheに AutoDiscovery機能が付き、phpクライアントも出た。(Cache Engine 1.4.14以降で有効) ちょうど1年前に、このような記事(Amazon ElastiCache の分散方法 )を書いたが、この際は、ElastiCacheの複数ノードを扱うには、Mamcached::addServers() で全ノードのEndpointをハードコードする必要があった。(もしくは、ElastiCache APIのDescribeCacheClusters等を使ってEndpointを取得してServerListを設定する) AutoDiscoveryのメリット システムの負荷に応じてElastiCacheのノード増減を運用時に行う際、ハードコードが入り込むのは運用上避けたいがそのための仕組みを作りこむ負荷が必要だった。AutoDiscovery対応のMemc

    ElastiCache: AutoDiscovery をPHPで使う - aws memo
  • PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET

    リクエスト振分け リクエストの振分け 振分けクラスの作成 コントローラーの振り分け 汎用的な振分け処理クラス アクションの振り分け 基点スクリプト リクエストの振分け MVCでは、CにあたるControllerクラスより処理が始まると考えられます。 しかし「MVCの概念」のところで述べたとおり、PHPの仕組み上、当の処理の基点はどうやってもクラス化することが出来ません。 ではどうやってこれを実現しているのでしょうか。 肝になる考え方は、全てのURLを一旦ある特定のphpファイルに集中させるという事です。 通常であればトップページはindex.php掲示板であればbbs.phpなど、ページごとにphpファイルを作ります。 そうではなく、何か一つのphpファイル、例えばindex.phpなどに決めて、それに付加するパラメーターで呼び出すクラスを切り分けるのです。 一番単純なのは、例えば掲示

    kamm
    kamm 2012/06/23
  • Apacheのアクセスログにユーザ情報を追加する

    こんにちは、中川です。 日々の運用をしていると、サービス運用の担当者から「管理画面で、あの操作はだれがやったか調べられませんか?」なんて質問を受けることがあります。 しっかりと操作ログをとるようなシステム要件でないとApacheのログを追うしかありませんが、通常はIPアドレスやブラウザ程度しか調べようがありませんよね。。。 しかし、初期開発であらゆる操作ログをしっかりシステムに組み込む余裕なんてないという場合もあります。そんな時のために事前にやっておくとちょっと便利で、非常に簡単なTIPSを。 ------------------------------------------------- ■追記 dandaso様 よりコメントいただきました。 確かにApacheへのログ用途ですので、apache_noteを利用するのが適切ですね。 dandaso様ご指摘ありがとうございます。 apac

    Apacheのアクセスログにユーザ情報を追加する
    kamm
    kamm 2012/04/25
    こりゃすごい・・・。知らんかった
  • phpで簡単にePUBを作成するソース – LIQUID BLOG

    phpで簡単にePUBを作成するソースが配布されているサイトを紹介します。 phpソース:phpclasses.org 様々なphpソース(クラス)が公開されているphpclasses.orgで配布されています。 ※ソースのダウンロードには無料登録が必要です(海外サイトなのでいろいろと注意してご利用ください)。 利用方法は簡単です。ダウンロードしたファイルをアップすればすぐに動作します。 Example.phpにアクセスすると、ePUBファイルが生成されダウンロードできます。 Example.phpの中身を見ると生成方法が分かります。chapterごとに異なる生成方法が記述されています。 コンテンツ内の画像ファイルを自動でアーカイブすることもできます。ePUBバージョンは2.0(記事紹介時)。 phpバージョン:5.2 ライセンス:LGPL もちろん、生成されたePUBファイルは、iPho

    phpで簡単にePUBを作成するソース – LIQUID BLOG
    kamm
    kamm 2011/12/13
  • phpでePub形式の電子書籍を作成

    はただのzip圧縮 PEAR::File_Archiveを使って圧縮する。 epubファイルのフォーマットについてはこの辺りで適当に勉強してください。 「電子書籍ファイルePubについて -ePubを自分で作成する-」 http://naoki.sato.name/lab/archives/45 mimetypeファイルは無圧縮かつファイルの先頭になければならないので、 mimetypeのみの無圧縮zipファイルを作ってから、 それに他のファイルを圧縮したものを追加する。 $work_dir ='作業フォルダパス' //PEAR::File_Archiveがファイル名で圧縮形式を決めているので, // .zipファイルをつくってから.epubに変更する $zip_name ='zipファイル名.zip'; $epub_name ='epubファイル名.epub'; $file_arch

    phpでePub形式の電子書籍を作成
  • Facebook and Heroku: an even easier way to get started « facebookアプリ開発者ブログ

    元記事:http://developers.facebook.com/blog/post/558/ Authored by Cat Lee Facebookプラットフォーム上でアプリを簡単に作れるようにしくみを改善しています。一番ハードルが高いのはアプリを置く環境を構築することです。そのため、有名なクラウドプロバイダーいくつかと提携し、最初のアプリを数クリックでアップし実行出来るようより簡単な仕組みを準備します。これら全てはDev App内で完結します。 日、このプロバイダーの最初にDev Appへ連携させてくれたHerokuをご紹介したいと思います。Herokuを使って、これからサンプルアプリをあなたが選択した言語でPHPRuby、Node.jsやPythonを使って簡単に構築を始めることができるようになります。 Getting Started Dev Appで右上の「Create

  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    kamm
    kamm 2011/08/24
    おもしろいなあ
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

  • PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional

    先日発売されたsymfonyの執筆に携わらせて頂いたので、今回はPHPのPaaSホスティングサービスである cloudControl で、無料で symfony1.4 を稼働させます。きっと、cakePHPやCodeigniterも稼働させることができるのではないでしょうか。 cloudControlって? 1時間あたり1BoxというcloudControlで定義している独自の単位は無料で使えます。簡単に言うと、少ないアクセスのサイトだったら無料で使えます。それ以上のアクセスを提供するためにはunlockの手続き(有料)が別途必要です。 また、無料で提供しているアドオンが利用できます。その中にはMySQLがあるので、PHPMySQLで稼働するフレームワークは大抵稼働するのではないでしょうか。 cloudControl で symfony1.4 を稼働させるところまで、解説することにしま

    PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional
    kamm
    kamm 2011/08/19
    『なんと、中の人から紹介に関する感謝のコメントを頂きました。そして、10€分無料になるVoucherコードを頂きました。』 わお!
  • PHPでセキュリティを真面目に考える

    オープンソースカンファレンス2011 Hokkaido #osc11do 「PHPセキュリティを真面目に考える」 LOCAL PHP部 佐藤琢哉(@nazo) http://labs.nazone.info/Read less

    PHPでセキュリティを真面目に考える
  • Railsの画面生成を10倍高速化する方法 - 世界線航跡蔵

    RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。 Rails遅杉 Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDBが遅いのは大抵のWebアプリケーションでは変わらない話、で、だからRailsなんかが評価される余地があるんだよね。RubyやRHTMLの遅さは柔軟性の代償として受け入れよう。なにしろRDBがもともと遅いんだから。ただ、Routingは無駄に高機能だったりして頭にくる。Rhino on RailsのSteve YeggeもRoutingは黒魔術だと言っていたし。私はActionPackの全てが黒魔術だと思うけど。 そういう訳で、RoutingをCで書き直すのはドリコムのみなさんがいつかやってくれると期待するとして(可能なら手伝いたいけどね)、当面の対応としてはキャッシュ

    Railsの画面生成を10倍高速化する方法 - 世界線航跡蔵
  • 5分で分かる PHP を知らない人が PHP の便利さを学べる記事を書いたよ

    PHP を知らない人に PHP の話して欲しいと言われたのでブログ書きました。 難しい話は抜きにして PHP <?php と ?> で囲えば動きます。PHP が動くサーバーなら今まで作ってた example.html というファイルの拡張子を example.php とすれば良いだけです。

    kamm
    kamm 2010/12/30
    いいんじゃないかな。最初のphpの目的ってこういう用途だろうし
  • MongoDB,CouchDB,MySQL,memcacheデータをPHPから読み込み&書き込み速度を検証してみました! - @camelmasaの開発日記

    前回、前前回とMongoDB,CouchDBのインストール方法やphpからの使用方法を記事にしました。 CentOS5.4にCouchDBをインストールする方法! - @camelmasaの開発日記 CouchDBphpから操作する方法。 - @camelmasaの開発日記 CentOS5.4にMongoDBをインストールする方法! - @camelmasaの開発日記 MongoDBphpから操作する方法。 - @camelmasaの開発日記 MongoDBとCouchDBMySQL(MyISAM)とmemcacheを加えて読み込み(SELECT)と書き込み(INSERT)の速度を検証してみたいと思います。 環境 OS:CentOS5.4 PHP:5.3.1 MongoDB:1.2.2 CouchDB:0.10.1 MySQL:5.1.43 memcache:1.2.8 CPU:AM

    MongoDB,CouchDB,MySQL,memcacheデータをPHPから読み込み&書き込み速度を検証してみました! - @camelmasaの開発日記
  • Webスクレイピングを可能にするPHPライブラリ・htmlSQL

    htmlSQLはWebスクレイピング(部分的にHTML抽出)を可能にするPHPライブラリです。ソースが公開されていたのでご紹介します。 ※先日、お知らせさせて頂きましたように、この記事は僕が管理していた別のブログの過去記事を移行したもので正確性に欠ける可能性があります。何卒ご了承願います。 HTML内を部分的に取り出し、表示する事で、それを容易にするスクリプトがhtmlSQLというPHPライブラリです。DOM解析をSQL風に指示するらしい。 デモがありますのでご体感下さい。→htmlSQL – live example 以下のコードを使うようです。 <?php /* ** htmlSQL - Example 1 ** ** Shows a simple query */ include_once("../snoopy.class.php"); include_once("../htmlsq

    Webスクレイピングを可能にするPHPライブラリ・htmlSQL
    kamm
    kamm 2010/12/02
    librahackさんも使っていた
  • jQuery JSONPでPHPでやりとりする方法 at Brandons Experimental Archive

    だいぶ間が空きましたが ちょっとハマったのでメモっておきます。 jQueryでのajaxは $.ajaxというシンタックスにて利用できますが その際にクロスドメインの問題とかの場合、 XMLデータじゃなくてJSONを使ったJSONPという仕組みを使います。 jQuery側は [javascript] $.getJSONP = function(url,callback,param) { return $.ajax({ url: url, dataType:”jsonp”, success:callback }); } $.getJSONP(“./hogehoge/getjson.php”t,onDataHandler) function onDataHandler(response) { //受信後の処理をここに } [/javascript] こんな感

  • OAuth認証を自作する!(php+twitter) | ぱばねの「山登り」と「PG練習帳」

    ライブラリを使うのも良いですが、ちゃんとトラブル解決ができるように、 OAuth認証を自作してみました。ここでも、twitterのお世話にw ユーザーから見える画面として、まずは http://toridge.sakura.ne.jp/oauth/oauth_twitter.phpを体験して下さい。 ■■■ 処理フロー ■■■ <前準備> 1)アプリケーションの登録画面(http://twitter.com/oauth_clients)で、 アプリの登録。customer_keyとcustomer_secretを取得。 (type:browser、callbackURL:http://~oauth_twitter_callback.php、ReadWrite) <アプリ処理> 2)customer_keyと、customer_secretからリクエストトークン(toke

  • CakePHP1.3でQdmailを使えるようにした | ホゲホゲロック

    QdmailをCakePHP1.3でComponentとして使おうすると、Qdmail->cakeText()やQdmail->cakeHtml()が動かない。 1.3系のViewクラスには無いメソッドをコールしてたというのが原因だったので、以下の修正で動くようにした。 qdmail.phpの3823行目を削除して、代わりにこれに置き換える。 if( version_compare(Configure::version(), '1.3.0') < 0){ $content = $view->renderElement( $this->view_dir . DS . $type . DS . $this->template , array('content' => $content ) , true ); }else{ $content = $view->element( $this->

    kamm
    kamm 2010/11/06
    ありがたや
  • CakePHPでメールの送信を簡単にするEmailPlugin

    CakePHP付属のEmailComponentは使いにくくありませんか? 色々な設定を何度も書かなければいけなかったり、シェルで使うために自分で設定を初期化しなければいけなかったり。 そういった点を解消したプラグインを作ったので紹介します。 しかし、まだ発展途上なのでバグがあったり、機能が足りなかったりするかもしれません。 気長に見守ってやってください:D EmailPluginとは 先ほど説明した通り、CakePHP付属のEmailComponentを使いやすくしたプラグインです。 メールに関する機能を取りまとめたいと思い、EmailPluginと名付けました。 現在、EmailPluginには以下のクラスが含まれています。 ExEmailComponent EmailComponentを継承したクラス EmailShell ExEmailComponentをシェルで使うための

    kamm
    kamm 2010/11/04
  • 初心者のためのCakePHP 1.3 プログラミング入門 - libro

    ※ページが正常に表示されない場合 AddBlockなどの広告ブロックツールがONになっていると、ページの一部が表示されないことがあります。これらのツールをOFFにしてみてください。 PHPビギナーのための、CakePHP 1.3 フレームワークの入門ドキュメントです。「PHPの基は一通りわかる」というレベルの人を対象に、短時間で、すぐにWebアプリケーションが作れるようになることを考え、ポイントを絞って説明をしていきます。 ※CakePHP 2.0の入門は、こちらへどうぞ。 ※PHPがよくわからない、という方は、こちらのPHP入門をどうぞ。

    kamm
    kamm 2010/11/02
    これはめちゃわかりやすかった!お勧め
  • 第3回 ここはおさえておきたい、CakePHP情報サイトリンク集 | gihyo.jp

    第1回、第2回ではCakePHPの概要をお伝えいたしました。今回はCakePHPの有益な情報を発信しているサイト様をまとめてご紹介いたします。基準として、RSSを配信していて1ヵ月以内の更新が確認できたサイト様に絞らせていただきました。 国内サイト 1.CakePHP Users in Japan フォーラム 国内で最も活発かと思われるCakePHPコミュニティです。フォーラム(掲示板)の話題の安定感が個人的に気に入っています。投稿の際にはフォーラムシステムへのアカウント登録が必要です。 2.CakePHPプログラマーズ リファレンスガイド

    第3回 ここはおさえておきたい、CakePHP情報サイトリンク集 | gihyo.jp
    kamm
    kamm 2010/11/02