PHPの設定はphp.ini、 httpd.conf、 .htaccessの順に読み込まれ変更可能なら新しい値で上書きされる。
どのレベルで上書き出来ないかはマニュアルのphp.iniディレクティブ参照。
php.iniディレクティブで書かれているものはPHPで決められているもので、別途httpd.confレベルで変更の可否が指定出来る(.htaccessで変更出来ない)。
httpd.confのphp.ini設定で使用出来る値は以下の4つ。
- php_value
- php_flag
- php_admin_value
- php_admin_flag
php_adminが付いた方で指定する事で.htaccessでの変更を制限する。
- php_admin_value name value
- 指定した設定オプションに値を設定します。このディレクティブは、.htaccess ファイルでは利用できません。また、 php_admin_value で設定された設定オプションの値は、.htaccess では上書きできません。 セット済みの値をクリアしたい場合は、none を 値として使用してください。
- php_admin_flag name on|off
- 設定オプションに論理値を設定するために使用します。 このディレクティブは、.htaccess ファイルでは利用できません。 php_admin_value で設定された設定オプションの値は、.htaccess では上書きできません。
PHP: 設定を変更するには – Manual
専用サーバーだと設定する事は少なそうなもののインフラとシステムの構築が分かれたりする場合、この方法で制限を掛けれるので(もちろんApache経由での実行に限る)覚えておくと良いかも
Debianは標準でEximというMTAが入っているが、日本では余り馴染みが無くPostfixやQmailを使う事が多い。
DebianはQmailのバイナリパッケージが用意されていないのでソースパッケージからインストールを行う(DebianのポリシーにQmaiのライセンス形態が合わなかったらしく用意されていない)。
以下Debian4.0にQmailのインストール方法
eximアンインストール
# apt-get remove --purge exim4 exim4-base exim4-config
ソースパッケージ取得用にapt-getの設定に追記
# vi /etc/apt/sources.list
deb, deb-src の行末に non-free 追記
パッケージの取得・インストール
# apt-get update
# apt-get install qmail-src ucspi-tcp-src
# build-ucspi-tcp
# build-qmail
設定追記・テストメール送信
# echo "your.domain" >> /var/qmail/control/me
# echo "your.domain" >> /var/qmail/control/rcpthosts
# echo "your.domain" >> /var/qmail/control/locals
# echo "test" | mail "your@mailaddress"
で、テストメールを確認して完了。
Postfixの場合はバイナリパッケージが用意されているのでapt-getで入れれば自動的にEximもアンインストールされる。
年齢の計算式は良く使う。
MySQLはマニュアルにも書いてあるけど。
SELECT (YEAR(CURDATE())-YEAR(`birth`)) - (RIGHT(CURDATE(), 5) > RIGHT(`birth`, 5)) AS `age`
プログラムで書く場合
((現在日時-生年月日)/10000)切り上げ
$birth = 19830221;
echo (int) ((date('Ymd') - $birth) /10000);
となる。が「ほぼ」年齢の計算式と書いたのは正確には「誕生日の前日が終了する瞬間」に年齢が加算されるので前日には年齢が上がっている。
利用する業務によってはその1日で大きな違いにもなる。以下のリンクに具体的な問題点などの指摘があるので留意。
- ある地方公務員電算担当のナヤミ
- 「生年月日から年齢を計算する簡単な計算式」は使えるとは限らない