サーバー移行に伴い、php5で使われていた pear とそのパッケージを php8 で導入したときのメモ。
インストールされているか
pear -V
インストールできるか
dnf list available | grep pear
インストール
$ sudo dnf install php-pear
Last metadata expiration check: 2:10:37 ago on Mon 13 Mar 2023 07:15:28 AM JST.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
php-pear noarch 1:1.10.13-1.el9 appstream 308 k
Installing dependencies:
php-process x86_64 8.2.3-1.el9.remi remi-modular 64 k
Transaction Summary
================================================================================
Install 2 Packages
インストール済みのパッケージの確認
$ pear list
インストールできることを確認
pear list-all | grep Cache
インストール
sudo pear install Cache_Lite
php ファイル内に設定を書き込む
$cache_id = $_SERVER["REQUEST_URI"]; //こんなんでもいい
// オプション
$options = array(
'cacheDir' => '/var/www/cache/○○-cache/',
'caching' => 'true', // キャッシュを有効に
'automaticSerialization' => 'true', // 配列を保存可能に
'lifeTime' => 604800, //生存時間。604800秒は一週間
'automaticCleaningFactor' => 200, // 自動で古いファイルを削除(1/200の確率で実行)
'memoryCachingLimit' => 72000, //最大ファイル数(12言語 × 6000語)
//1フォルダに1000ファイル置けるとすると、階層の深さを1にすれば、1000フォルダ × 1000 ファイルまで問題なく作れる
'hashedDirectoryLevel' => 1, // ディレクトリ階層の深さ(ファイル数が多い場合に高速になる)
);
//クラスからオブジェクトを生成(インスタンス化)
$cache = new Cache_Lite($options);
‘cacheDir’ => ‘/var/www/cache/○○-cache/’ の部分にキャッシュが書き込まれるので書き込み権限を変更する。
chmod 777 ○○-cache
同じ phpファイル内でキャッシュがあるかないかを判定してあればキャッシュを出力する。
// キャッシュデータがあるかどうかの判別
if ($cache_data = $cache->get($cache_id)) {
$buff = $cache_data;
echo $buff; //キャッシュを出力
//キャッシュが存在しない場合
} else {
Pager もインストールしたが、使えなかったので自作になった。
Pager 自作の参考ページ
PHPでシンプルなページャーつくってみた
すごくつまらなくて申し訳ないですが、PHPでページャー(ページを分割したときのナビゲーション)を作ってみましたので載せておきます。