タグ

ブックマーク / www.1x1.jp (7)

  • PHP5.5 のコードキャッシュは APC から Zend OPcache へ

    PHP5.5 からコードキャッシュとして標準バンドルされた Zend OPcache を試してみました。 第6回関西PHP勉強会で Zend OPcache についてLTしたのでインストールやベンチマークなどはこちらで。 beta4時点では、Zend OPcache は拡張で提供され、opcache.so インストールされる。 Zend OPcache を使うには、php.ini で zend_extension=opcache.so の記述が必要。 やっぱりデフォルトでインストールされるのは楽。 PHP5.5リリースと共に使えるので安心。(PHP5.4 対応の APC はまだ beta) ユーザデータのキャッシュはできないので、別の方法が必要。 OCP – OPcache Control Panel Zend OPcache の利用状況(設定、キャッシュ量など)が確認できるスクリプトが

  • nginx で Too many open files エラーに対処する

    nginx では1プロセスで多くのアクセスを捌くので、アクセス数が増えるとToo many open filesエラーが発生することがあります。 ここでは対処法と調べた内容を残しておきます。 1. fs.file-max の確認 まず fs.file-max の値を確認しておきます。fs.file-max は、システム全体でのファイルディスクリプタの上限数となっており、この値以上のファイルディスクリプタは確保することができません。 現在設定されている値は以下で確認できます。 $ cat /proc/sys/fs/file-max 167488 通常は上記の値で問題無いと思いますが、もしこの値が不足しているようなら設定値を更新します。 $ sudo -s # echo 320000 > /proc/sys/fs/file-max # cat /proc/sys/fs/file-max 320

  • 6分でわかる最近のPHP ― 2012夏

    さて夏がやってきました。夏と言えばPHPということで、昨年に引き続き、最近のPHP事情をご紹介。 1. PHP5.4リリース PHP5.4が2012年3月にリリースされました。 Traits や Short array syntax(配列の短縮構文)、array dereferencing(foo()[0]) などのPHP言語拡張、PHPコマンドで起動するビルトインサーバ、そしてパフォーマンスの改善など大きな変更が加えられています。 言語自体の機能追加も注目ですが、ビルトインサーバは多くの人にとってメリットになるでしょう。これを使えばPHPアプリケーションの動作確認のためにApacheやnginxなどのhttpdサーバを自分のPCに入れる必要はありません。 下記のようなコマンドを打つだけで、ビルトインサーバが起動します。新しいフレームワークやライブラリ、アプリケーションを試してみたい時に手

  • PHP5.4 ビルトインサーバで CakePHP を試食する(CakePHP Advent Calendar 2011 4日目)

    Home > CakePHP | PHP > PHP5.4 ビルトインサーバで CakePHP を試する(CakePHP Advent Calendar 2011 4日目) PHP5.4のビルトインサーバで CakePHP を動かしてみました。 CakePHP Advent Calendar 2011 の 4 日目です。 いよいよ PHP5.4 の正式リリースが近づいてきました。5.3 からのマイナーバージョンアップとはいえ、Trait や Short syntax for arrays、Array Dereferencing など興味深い機能が追加されています。 そんな新機能の中から注目のビルトインサーバを使って、CakePHP を動かしてみました。今回は CakePHP1系と2系の両方を試しています。 PHP5.4RC2をインストール まずは現時点での最新版 PHP5.4RC2 が動

  • CakePHP routes.phpの確認はユニットテストで

    routes.phpを仕様に合わせて設定しておきます。 <?php // Router::connect('/:user_id/edit', array('controller' => 'user', 'action' => 'edit')); Router::connect('/', array('controller' => 'top', 'action' => 'index')); Router::connect('/:user_id/*', array('controller' => 'user', 'action' => 'index')); // Nothing Router::connect('*', array('controller' => 'nothing')); ?> 最後はシステムが取るべきURL以外ならNot Foundを出すように設定しています。これにより想定外

  • 現状のPHP環境はそのままで、PHP 5.4 を試す

    現状のPHPはそのままで、新しい(別の)バージョンをPHP試す方法です。 PHP 5.4.0 alpha がリリースされました。Traits や Array dereferencing support など試してみたいですけど、さすがにメインのPHP環境を変えるのは早いですね。 そこで新しいPHPをビルドして、インストールはしない方法で試してみました。 PHP 5.4.0 alpha をビルド qa.php.netから、PHPのソースをダウンロードします。 $ wget http://downloads.php.net/stas/php-5.4.0alpha1.tar.bz2 展開して、configureして、makeします。とりあえずコンパイルオプションはナシで。 $ tar jxvf php-5.4.0alpha1.tar.bz2 $ cd php-5.4.0alpha1 $ ./co

  • コードカバレッジ測定ツールPHP_CodeCoverageをCakePHPで使ってみた

    PHP_CodeCoverageで、CakePHPのユニットテストのコードカバレッジを表示してみました。 CakePHP標準のテストランナー(test.php)でも単一のテストケースについてはコードカバレッジが表示できるのですが、All tests の時はコードカバレッジが表示されません(All testsでも表示されることもあるようです。hiromi さん、ありがとうございます)。 そこでPHP_CodeCoverageを使って、All testsのコードカバレッジを表示してみました。 1. PHP_CodeCoverage インストール PHP_CodeCoverageは、PHPUnitでおなじみのSebastian Bergmannが開発した、コードカバレッジやCRAPを計測、表示するツールです。 PEARパッケージで提供されているので、pear コマンドでインストールします。 20

  • 1