php8にpearとCache_Liteをインストール

サーバー移行に伴い、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でページャー(ページを分割したときのナビゲーション)を作ってみましたので載せておきます。
タイトルとURLをコピーしました