タグ

phpとserverに関するnobodyplaceのブックマーク (8)

  • 【メモ】 CUIに実行ログを書き出す(1行を上書きしていく) 【PHP】

    やりたいこと フレームワークのタスクなどを実行する際に、きちんと進行しているかインジケータを表示させたい。ただし、処理数分だけ行数を重ねるのではなくて1行に上書きしていきたい。上手く説明できなくて歯がゆいんですけど、つまりこうではなくて、 doSomething ... 1/5 doSomething ... 2/5 doSomething ... 3/5 doSomething ... 4/5 doSomething ... 5/5 finished こう。 doSomething ... 5/5 finished ← この行だけで更新されていく わかりますかね… 解法:改行ではなく「キャリッジリターンを使う」 「キャリッジリターン」というのはカーソルを行末から行頭に戻すためのコードで改行コードを含まないので、そのコードまで行くとカーソルは同じ行の先頭に移動して入力を待ちます。で、次の行

    【メモ】 CUIに実行ログを書き出す(1行を上書きしていく) 【PHP】
  • 【PHP】 セッションファイルを階層分けして格納する

    とあるシステムのセッションディレクトリを覗いてみたらミリオン単位のファイルが詰まっていることが解って、I/O重いの当たり前じゃねーか…!(普通は1ディレクトリ1000ファイルまでに抑えるべき)となったので改善を試みました。 具体的にはディレクトリを階層化します。 改善前 /path/to/session/sess_hogehogehoge 改善後 /path/to/session/0/1/2/sess_hogehogehoge 以下、手順。 階層化されたセッションディレクトリを作成する 作成したセッションディレクトリのパーミッションを変更する PHPの設定を変更する httpd再起動 古いセッションを削除するように設定する 1. 階層化されたセッションディレクトリを作成する セッションディレクトリの設定自体はPHPの設定ファイル(php.ini)で行うのですが、その設定部分に以下のような注

  • ionCubeとXdebugの読み込み順ではまる(VPSその8)

    開発の終了が発表されても依然として使用しているフレッシュリーダー。 いずれGoogleリーダーにでも引っ越そうかなと考えてはいるのですけど、 設定の引き継ぎが面倒なのでなんとなく躊躇。 VPSへの引っ越しもタイミングだったかなとは思ったんですが、まぁ面倒だったので今回も結局継続使用します。 フレッシュリーダー自体は丸ごとrsyncでコピーすればOK。 データもライブラリもそれで問題ない。 (環境がLinuxWindowsとか、PHP4→PHP5とかでない限り) 以下、ハマリどころを中心にそれ以降の設定について。 苦難その1: dl()が使えない で、いつも通りioncube_loaderの設定をphp.iniにして…と思ったのだけど、これが動かない。 アクセスしてみると真っ白になってしまう。 ライブラリをハックしてエラーを吐かせてみると、どうやらdl()が動かないと言ってるみたい。 Ca

    ionCubeとXdebugの読み込み順ではまる(VPSその8)
  • さくらのVPSにAPCを入れる(VPSその6)

    それほど負荷を掛けているわけではないのでまだパフォーマンスを気にするレベルにはありませんが、 出来ることはやっておこうかと言うことでPHPアクセラレータをインストール。 eAcceleratorを試そうかなーと一瞬考えもしたけど、まぁインストール簡単なのを、ということでAPCを選択。 PHP: APC – Manual インストール PECL経由でインストールすると失敗するという情報がいくつか見つかるけれども、 【さくらVPSで運用 CentOs5.5】APC編 – だらだらアイデア さくらVPSにapcいれた – ワン!ワワン!ニャ~! そもそもyumでインストールしてしまえば問題なくインストールできるようです(要Remi)。 AKIBE – さくらのVPS CentOSでサーバ構築 13 – パフォーマンス というわけで、インストールはこれだけでOK。 # yum -y install

    さくらのVPSにAPCを入れる(VPSその6)
  • SymfonyのセッションデータをMySQLに格納する

    さくらインターネットから、「ファイル数多すぎるんで削除してください」という連絡が来たのでなんのこっちゃと調べたら、 この間の設定変更で指定したセッションファイル格納用ディレクトリが溢れているという話らしい。おおっと。 でもって、話をよくよく聞いてみるとセッションが使用不可になったのも共用ディレクトリである「/tmp」に保存できるファイル数が10万ファイルまでに制限されているからだそうな。当たり前か。 当のことを言うと、そう大したユーザー数がいるとも思えないサービスなのに溢れすぎじゃないかと思うけど、 設定を見返すのは後回しにしてとりあえず現状を改善しないと行けない。 よくよく考えてみて、「/tmp」ディレクトリのパーミッション的に階層化も出来そうにないし、 こりゃセッションデータをMySQLに格納するしかないかなと言うことで以下の設定を。 参考: symfonyでセッションにデータベース

    SymfonyのセッションデータをMySQLに格納する
  • [PHP] さくらインターネットでセッションが使用できなくなっていた件

    こちらの件に関連して。 [umbls] ログインできない不具合を修正しました。 – nplll 根的な理由はさっぱり分からないのですが、なぜかさくらインターネットのサーバにてセッションが使用できなくなっていました。初めはプログラムのバグでログインできないんだと思って、自分が書いたコードやSymfonyの設定周りを洗っていたのですが、なんか何をどうやっても上手くいかない。それどころか、簡単なセッション処理のプログラムすら動かない。session_start()して、$_SESSIONを使って格納しただけなのに、保存されないのね。 コード例: session_test.phpsession_test2.php: <?php session_start(); echo 'Welcome to page #2'; echo date('Y m d H:i:s', $_SESSION['tim

    [PHP] さくらインターネットでセッションが使用できなくなっていた件
  • 【メモ】さくらインターネットでSymfonyを使う

    フレームワークを使わない管理から、俺俺フレームワークもどきに移行しかけていたのですが、そもそもフレームワークを設計する技量など無く便利な部分だけを抜き書きしただけ(autoload周りとか)だったので、これ以上カオスな状態にするのは止めようとフレームワーク導入を決定。導入するのは何にするかほんの少し考えたけど、CakePHPとZendFrameworkもよぎりましたが、CakePHPは複数プロジェクトを管理できないっぽかったし、ZendFrameworkは全然わかんないし、そもそもどれも解ってるとは言い難いので、仕事で使ってて少しはなじみがあるSymfonyを入れてみました(ただし、入れたのは1.4系。仕事で使ってるのは1.0系)。 インストールはここを参考にして、PEAR経由で。 さくらインターネットでsymfonyをインストール | ueblog レンタルサーバできちんと動くのかしら?

    【メモ】さくらインターネットでSymfonyを使う
  • さくらインターネットのレンタルサーバにXdebugをインストールする

    前からやりたいなぁと思っていたのだけど上手いこと入れることが出来なかったXdebug。 Xdebugを入れると例えばPHPでvar_dumpをしたときに、このようになっていたのが、 こうなります。便利。 改めてやり直してみたら意外にも上手く入ったので以下、メモしておく。 phpizeを使用するための設定 phpizeを使用するために環境変数を設定しておきます。 僕の場合シェルはzshなので以下の設定になります。 export PHP_AUTOCONF=autoconf export PHP_AUTOHEADER=autoheader ポイント 以前は「autoconf」「autoheader」にはバージョン番号を付記する必要がありましたが、現在は必要なくなっているようです。 ソース取得 cd local/src wget http://www.xdebug.org/files/xdebug

  • 1