Linux 備忘録

Archive for the 'php' Category

PHPのセッション

木曜日, 1月 31st, 2008

PHPのセッションサポート機能は、複数回のアクセスを通じて特定のデー タを保持する手段を実現するものです。これにより、よりカスタマイズさ れたアプリケーションを構築し、自分の Web サイトのアピール度を増加 させることが可能となります。

Webサイトの訪問者にはセッションIDと呼ばれるユニークなIDが割りつけられます。このIDは、ユーザー側にクッキーとして保存するか、または、URL に埋め込みます。

セッションサポート機能により、任意の数の変数をリクエスト間で受けわたせる ようになります。来訪者がサイトにアクセスした際、 PHP は特定のセッションIDがリクエストとともに送信されているかどうかを ( session.auto_startが1の場合は)自動的に、または (session_start() により明示的に、あるいは session_register() により暗黙に) 要求を受けて確認します。 このIDが送信されている場合には、以前保存された変数が再現されます。

session.auto_startをonとした場合、 オブジェクトをセッション変数に代入することができなくなります。 これは、セッションにおいてオブジェクトを再現するためには、 セッション開始前にクラス定義がロードされている必要があるためです。

全ての登録された変数は、リクエストが終了した後に、シリアル化されます。 未定義の登録変数は、未定義としてマーク付けされます。 後でユーザーがこれらの変数を定義しない限り、以降のアクセスにおいて セッションモジュールにより定義されません。

注意: セッション処理機能は、PHP 4.0 でサポートされました。

注意: セッションを処理している時、 session_register()関数を使用するか スーパーグローバル配列$_SESSIONへ新しいキーを 追加することにより変数が登録されるまで、セッションのレコードは作 成されないことに注意して下さい。これは、セッションが session_start()関数により開始されている場合で も真です。

phpにおいてFatal error (Allowed memory exhausted)発生

日曜日, 12月 30th, 2007

これは、phpの利用可能なメモリーサイズをオーバーしたことにより発生します。

以下のphp.iniのmemory_limit値を大きくすれば解決します。

(例)memory_limit = 16M

ここでは、リミットを8Mから16Mに変更しました。

Xoops を利用中に発生しましたが、Wordpressでも同様に発生します。php

のメモリー不足の問題ですから。

php safe モードでsquirrel mail の運用

水曜日, 12月 26th, 2007

Webmail squirrel Mail において、phpをsafe mode = on で運用すると、以下のようなエラーが発生して、使用できなくなります。

オープンエラー ../data/default_pref
デフォルトの設定ファイルが見付からないか読み込めません。
このエラーとともに管理者に連絡を取ってください。

php のセーフモードでは、安全のため、所有者の異なるファイルをアクセスできなくなるためにこのような現象となります。

これは、data ディレクトリーの所有者、所属グループがapache.apache 等になっていて、他のディレクトリーと異なる、所有者、所属グループになっているのが原因です。

これを解決するためには、squirrel mail のディレクトリーの所有者をdataディレクトリーの所有者apacheと同じに変更すれば良い。

従って、squirrel Mail のディレクトリー(ここでは /var/www/webmail ) 以下のようなコマンドで変更すれば、php safe-mode でsquirrel mail を使用できるようになります。

> chown -R apache.apache /var/www/webmail

簡単ですね。ネットで検索すると困っている人も居られるようで、参考になれば幸いです。