【PHP】メインファイルの実行前後に自動的に実行してくれる「auto_prepend_file」「auto_append_file」

メインファイル実行前後に自動的に実行してくれる「auto_prepend_file」「auto_append_file」のメモ


auto_prepend_file

auto-prepend-file

メインファイルの実行前に呼び出されるファイルを設定します。

php.ini、.httaccessに設定すれば使用することが可能です。

auto_prepend_file /path/to/prepend.php
php_value auto_prepend_file /path/to/prepend.php

サンプルとして以下のようなファイルを設定しておくと「pre_dump」という関数を作って置くことが出来ます。

<?php
if (!function_exists('pre_dump')) {
    function pre_dump() {
        echo "
";
        for ($i = 0; $i < func_num_args(); $i++){
            var_dump(func_get_arg($i));
        }
        echo "
"; } }

auto_append_file

auto_append_file

メインファイルの実行後に呼び出されるファイルを設定します。

php.ini、.httaccessに設定すれば使用することが可能です。

auto_append_file /path/to/append.php
php_value auto_append_file /path/to/append.php

※スクリプトが exit() で終了する場合、 この機能は動作しません。


<?php
$error = error_get_last();
if(!is_null($error)){
    file_put_contents(
        '/log/'.date('Y/m/d H:i:s'),
        date('Y/m/d H:i:s').PHP_EOL.var_export($error, true),
        FILE_APPEND | LOCK_EX);
}

まとめ

今のフレームワークなどでは使う場面などは少ないでしょうが、古いPHPの解析や改造には有用な設定です。


0 件のコメント :

コメントを投稿