タグ

phpに関するamari3のブックマーク (160)

  • ログを取る[Pear::Log] - bnote

    PearにLog(1.9.3)とロギングユーティリティパッケージがあります。 ログを取ることで、デバッグがしやすくなったり、運用状況の把握が出来たりします。 ログを取るには、Logクラスのfactory関数又は、singleton関数を使用してインスタンス を作成します。singletonでは、引数の内容毎にそれぞれインスタンスが作成されます。 (例えば、fileに出力するインスタンスとMailに出力するインスタンス) singleton関数では、引数をシリアライズし配列のキーとしています。factory関数は $handler = strtolower($handler); $class = 'Log_' . $handler; $classfile = 'Log/' . $handler . '.php'; 上記のようになっており、指定されたハンドラに応じて対応したクラスをインスタンス

    amari3
    amari3 2010/11/10
  • PHP: APC - Manual

    Alternative PHP Cache はじめにインストール/設定要件インストール手順実行時設定リソース型定義済み定数APC 関数apc_add — 新規の変数をデータ領域にキャッシュするapc_bin_dump — 指定したファイルおよびユーザー変数のバイナリダンプを取得するapc_bin_dumpfile — キャッシュされたファイルやユーザー変数のバイナリダンプをファイルに出力するapc_bin_load — バイナリダンプを APC のファイル/ユーザーキャッシュに読み込むapc_bin_loadfile — バイナリダンプをファイルから APC のファイル/ユーザーキャッシュに読み込むapc_cache_info — APC のデータから、キャッシュされた情報を取得するapc_cas — 古い値を新しい値に更新するapc_clear_cache — APC キャッシュをクリア

    amari3
    amari3 2010/11/01
  • CentOSにPHPアクセラレータのAPCを入れてみた

    コンパイルしたファイルをキャッシュして、phpの動作を速くするAPC(Alternative PHP Cache)。おまじない程度に導入してみたのですが、これがなかなか。インストールしただけでも体感出来るくらいがっつり表示が速くなります。さらにちゃんと設定をいじれば、更にもう一段速く。 サーバがなんとなく重いなぁと思っている方はどうぞ。 共有レンタルサーバだとAPCを導入するのは難しいかもしれませんが、VPSや専有サーバを利用している人は利用を考えてみると良いのではないでしょうか。 インストール APCをインストールするには方法がいくつかあるようですが、今回は一番簡単にインストール出来るpeclを利用する方法をとります。 そんなわけで、まず、peclを使えるようにするために、php-pear、php-devel、httpd-develをインストールします。以下、作業は基的にルート権限で。

    CentOSにPHPアクセラレータのAPCを入れてみた
    amari3
    amari3 2010/11/01
  • mod_php(Apache)とspawn-fcgi(nginx)でのパフォーマンス比較 « cat /dev/random > /dev/null &

    PHPを使う場合Apacheとnginxどっち使えばいいん?と気になったのでパフォーマンス比較してみました こんな感じの構成で すべて仮想サーバ構成です 負荷元サーバー CPU=2 RAM=1000M がんばるサーバ CPU=4 RAM=1024M DBサーバ CPU=4 RAM=1536MB 使ったミドルウェア Apache 2.2.3 Nginx 0.7.64 PHP 5.3.1 (子プロセス=6 tcp接続) MySQL 5.5.1 spawn-fcgi 1.4.22 wordpress 2.9.1 早速基礎体力というか通常の戦闘力を測ってみます abで多重度1で100回リクエストしてみます 公平を期すために二回目の結果をとっています ab -c 1 -n 100 -H "Host: blog.xcir.net" http://192.168.1.123:82/

  • PHP開発者 Rasmus Lerdorf氏インタビュー ~PHPは「利己的」な開発者の集まり | gihyo.jp

    2010年9月24日・25日に開催された「PHPカンファレンス2010」にあわせて、PHP開発者のRasmus Lerdorf氏が来日されました。日を訪れるのは2度目という氏に、PHPの現状とその根底にある思想についてお話を聞きました。 現在の仕事について 大垣:昨年 Yahoo! Inc.を退職されましたね。現在はどのような仕事をされているのでしょうか? Rasmus:WePayという起業したばかり小さな会社にいます。WePayはカリフォルニアにある、グループで支払いを行う処理を行うベンチャー会社です。 大垣:グループで支払いを行う、というのは、どういうことですか? Rasmus:グループで何かを買いたいときに、グループとしてお金を管理したいですよね。例えば、大学で学生が集まってプレゼントを買いたいという場合があります。どんなものでも構わないですが、10人が集まって共同でオンラインショ

    PHP開発者 Rasmus Lerdorf氏インタビュー ~PHPは「利己的」な開発者の集まり | gihyo.jp
    amari3
    amari3 2010/10/19
  • Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok

    バイトとしてお世話になっている,PFIで,「モダンPHPプログラミング入門」について,社内セミナーでお話してきました. 約一時半,Ustもながしつつ,社員の皆さんから質問をうけつつ.長々と,しゃべってしまいました. 対象者は,PFIの社員さんのように 他のプログラミング言語を知っている 「PHPって,HTMLの中に <?php とかって書くやつでしょ?」とか未だに思ってる 昔触ったことあったけど最近のPHPしらない みたいな人.そんな内容です. テンプレート言語と言われるPHPですが,プログラミング風の機能もたくさんついているんだぁ!ということを感じていただければ嬉しいです(w Modern PHP Programming @ PFI SeminarView more documents from sotarok. Ust の録画: Ustream.tv: ユーザー preferred:

    Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok
    amari3
    amari3 2010/10/19
  • PDOでサクサクDB開発

    はじめに PHP界隈では現在、PHP 4からPHP 5への移行が進んできており、ここ最近ではPHP 5の機能を活用したフレームワークも多く出てくるようになりました。 PHP 5は、PHP 4に比べオブジェクト指向のサポートや速度面での向上などが取り上げられる中、最も注目すべき点であるデータベースへのアクセスを抽象化したレイヤーとしてPDOが登場しました。 今回はそのPDOに注目し、サンプルを交えてPDOの使い方を紹介します。 対象読者 PHP 5を使ったことがある方 以前PEAR::DBなどを用いてデータベースを使ったアプリケーションを作成したことのある方 必要な環境 PDOはPHP 5.1から標準で導入されるようになりました。Windows/UNIXを問わず利用することができます。よってPHP 5.1の環境と、PDOの動作に必要なデータベースの構築を行ってください。 PDOとは PDO(

    PDOでサクサクDB開発
    amari3
    amari3 2010/10/18
  • Doctrine: PHP Open Source Project

    Available as part of the Tidelift Subscription . Tidelift is working with the maintainers of Doctrine ORM and thousands of other open source projects to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Enterprise-ready open

    Doctrine: PHP Open Source Project
    amari3
    amari3 2010/10/09
  • mbstring.encoding_translationはOnにしていいことあるのか - beny_to

    いや、無い(反語)。 ・・・・・・あるの? ここからはわしの認識ということで、その辺をこころして見て欲しい。 mbstring.encoding_translationをOnにすると、入力されたデータ(POSTとかで)を mbstring.http_inputで文字コードを識別し、 mbstring.internal_encodingで指定してある文字コードに変換する。 だから下記のような設定の場合(会社のサーバがこうなってた) mbstring.encoding_translation = On mbstring.http_input = auto mbstring.http_output = auto mbstring.internal_encoding = EUC-JP PHPソースの文字コード(もしくはPOSTするフォームの文字コード)がUTF-8のとき、POSTされたデータ

  • CentOS5にPHP5をインストール - satospo

    準備 Apacheのコンパイル モジュール版のPHPを組み込めるようにApacheをコンパイルしてインストールします。 [root]# ./configure --enable-modules="so ssl rewrite" [root]# make [root]# make install 以上でApacheが/usr/local/apache2にインストールされました。 ライブラリの確認 グラフィック関連のライブラリ(プリインストールされているもの) gd-2.0.33-9.4.el5_1.1 gd-devel-2.0.33-9.4.el5_1.1 libpng-1.2.10-7.1.el5_0.1 libpng-devel-1.2.10-7.1.el5_0.1 libjpeg-devel-6b-37 libjpeg-6b-37 freetype-devel-2.2.1-20.el

    amari3
    amari3 2010/10/04
  • apache+mysql+phpでDB接続エラーになる場合の対応方法 | ガイドミー管理者日記

    今月に入ってお客さんのサイトでapacheがハングアップして応答が無くなり、mysql,apacheの再起動を余儀なくされる状況が1日おき位に続いていた。対応が結構しんどかったので、何とか原因を見つけようとした作業記録です。 1. サーバ環境 webサーバ:1台:Redhat Linux 2.4.21-40(かなり古いです) mem=1G, cpu=1 DBサーバ:1台:Redhat Linux 2.6.9-42 mem=8G, cpu=4 2.LAMP構成 webサーバ:apache 2.2.6, php4.3.11 DBサーバ:mysql 4.1.22 3.現象 稼動しているとあるタイミング(主にアクセスが多い時間帯)にhttpdが無反応になる。apacheをリスタートしても状況が変わらず、apache停止→mysqlリスタート→apacheスタートの順で回復する。 4.やったこと (

  • なぜ apache module を更新すると Segmentation fault するのか : DSAS開発者の部屋

    今回は、apache module について気になることがあったので紹介します。 先日 バージョンアップするために apache module を更新した直後 apache が Segmentation fault してしまうという問題に気が付きました。 Segmentation fault した後に apache を再起動すれば、新しいモジュールが反映されて正常に動作するものの何故この様なことが起こるのか不思議に思い原因を調査してみました。 % curl http://localhost/ curl: (52) Empty reply from server レスポンスが空です。apache のログには [Thr Mar 29 17:52:01 2007] [notice] child pid 20001 exit signal Segmentation fault (11) この様なエ

    なぜ apache module を更新すると Segmentation fault するのか : DSAS開発者の部屋
  • PHPでAuthorizationヘッダーを取得する方法 | PHPプログラマのバリ・ポジ情報ブログ

    PHP,JavaScriptやサーバーの設定などのプログラミングに関する情報をバリ・ポジティブに発信しているプログラマのブログ、『バリ・ポジ』

    amari3
    amari3 2010/09/23
  • PHPを読んだことある人のためのOAuthのSignature解説 - r-weblife

    今回はOAuthのお話です。 なんとなく、世の中に出回っているライブラリを使わず、OAuthの機能を独自で1から作りこむ人もけっこういるような気がします。 今回はPHPのOAuthライブラリを用いて、HMAC-SHA1のSignatureを作成するときのロジックを見てみます。 仕様 : OAuth Core 1.0 Revision A ■ 前提条件 今回は2legged OAuth Request(3leggedでも一緒) GETでhttp://r-weblife.sakura.ne.jp/SignedRequest/example.phpにアクセス 下記のようなパラメータを付加する $params = array( "opensocial_app_url" => 'http://r-weblife.sakura.ne.jp/SignedRequest/SignedRequest.xml

    PHPを読んだことある人のためのOAuthのSignature解説 - r-weblife
  • PHP: $HTTP_RAW_POST_DATA - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction

    amari3
    amari3 2010/09/22
  • PQ - naoyaのはてなダイアリー

    PHP でデータベースを利用するちょっとしたアプリケーションを作るにあたって、手軽に DB を操作できると良いなと思ってます。この辺も自分で作ってみようかなと思い立ち、まずはインタフェースを固めるべくそのプロトタイプを作ってみました。 $pq = new PQ(); $pq->dsn('mysqli://nobody:nobody@localhost/sample?charset=utf8'); echo $pq->query('users') ->where( array('age' => array('>' => 20)) ) ->where( array('mail' => array('-like' => '%@example.com')) ) ->fields("mail, name") ->order("updated desc") ->offset(0) ->limit(10

    PQ - naoyaのはてなダイアリー
    amari3
    amari3 2010/09/12
  • PHPでTest::MoreするならLimeを使おう - Lism.in * blog - nekoya (id:studio-m)

    「自分のメイン言語はPerlだけど、会社ではPHP使ってる。PHPでもTest::Moreみたいにテストしたい」という人は結構いるんじゃないかと思います。 「php test::more」でググると出てくるのはここ。 Test::MoreのPHP版 : cotalog 紹介されているtest-more.phpは確かにTest::Moreライクな実装ですが、機能的に不足があったり全体的に作りが古くて、自分で拡張するにも今ひとつ。 そんなあなたにsymfonyで採用されている独自のテストフレームワーク「Lime」。これがまさにPHP版Test::Moreです。 LimeTestingFramework - symfony - Trac このLimeはsymfonyのテストフレームワークとしてもう2年程前から採用されているのですが、Test::Moreを基にしたという記述が無いためか、それっぽい

    PHPでTest::MoreするならLimeを使おう - Lism.in * blog - nekoya (id:studio-m)
  • PHP :: error_log() 関数を利用したロギング [Tipsというかメモ]

    ログの出力先をファイルにする時、排他ロックを掛けておかないとファイルを破損する場合があります。 その為、通常は下記のように「ロック→書き込み→アンロック」というように書くと思います。 (pear::log などを使わない場合) function outputLog($file_name, $message) { $fp = fopen($file_name, "a"); flock($fp, 2); fwrite($fp, $message); flock($fp, 3); fclose($fp); } 次のように、error_log() 関数で代用してもっとシンプルに書くことができます。 error_log($message, 3, $file_name); 関数名が error_log だと気持ち悪いので、ラップする関数を作った方が良いでしょう。 function outputLog(

    amari3
    amari3 2010/09/06
  • symfony - open-source PHP5 web framework

    Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps

    symfony - open-source PHP5 web framework
  • PHP版 List_RubyLike - naoyaのはてなダイアリー

    PHP で遊んでいます。 練習がてら、以前に作った List::RubyLike (http://github.com/naoya/list-rubylike) という Perl モジュール *1 の PHP での実装を作ってみました。 <?php require_once 'List/RubyLike.php'; echo LR(array("foo", "bar")) ->push("baz", "piyo") ->map(function ($v) { return strtoupper($v); }) ->join(", ") . "\n"; echo LR(range(1, 5)) ->grep(function ($n) { return $n % 2 == 0; }) ->map(function ($n) { return $n * $n; }) ->sum() . "\n

    PHP版 List_RubyLike - naoyaのはてなダイアリー
    amari3
    amari3 2010/09/05