rNote-re を php 8.4.3 に対応 2025-02-15 (土) 20:33:33+09:00

ソフトウェア

php のバージョンを 8.3.10 から 8.4.3 に上げたら、

Deprecated: Mobile_Detect::__construct(): Implicitly marking parameter $headers as nullable is deprecated
のメッセージが出るようになった。


PHP RFC: Deprecate implicitly nullable parameter types日本語の解説の例:【PHP8.4】メソッド引数のデフォルトnullがついに禁止されるで説明されているように、引数のデフォルト null が php 8.4 から非推奨になったためだったので、Mobile_Detect.php の 600 行目からの __construct() の引数の記述部分を、

   public function __construct(     array $headers = null,     $userAgent = null   ) {

から、
   public function __construct(     ?array $headers,     ?string $userAgent   ) {

のように?T構文に変更し対応した。

${var}から{$var}への変更と、クラス内の変数のうち宣言のなかったものに宣言を追加し、以下についても修正した。

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in rnotepad5.php on line 450

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in rnotepad5.php on line 581

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in rnotepad5.php on line 597

Deprecated: Creation of dynamic property rnotepad5::$term is deprecated in rnotepad5.php on line 244

Deprecated: Creation of dynamic property rnotepad5::$time_out is deprecated in rnotepad5.php on line 246

Deprecated: Creation of dynamic property tb_tool::$term is deprecated in tb_tool.php on line 19

Deprecated: Creation of dynamic property tb_tool::$time_out is deprecated in tb_tool.php on line 21

Deprecated: Creation of dynamic property entries_list::$def_line is deprecated in entries_list.php on line 71

Deprecated: Creation of dynamic property cmntcnfm::$def_line is deprecated in cmntcnfm.php on line 69

キーワード: rNote-re


php.ini ファイルを修正 2025-02-11 (火) 20:41:21+09:00

メモ

ローカルテスト環境の apache のバージョンを 2.4.62 から 2.4.63 に、 php のバージョンを 8.3.10 から 8.4.3 に上げたら、 apache がサイトを表示しなくなった。 logs/error.log を見ると session.sid_length が怪しかったのでネットで検索してみたら、 php8.4 以降 php.ini からデフォルト設定以外には設定できないように廃止されたらしい。apache や php のバージョンを更新すると、よくこういう目に ini ファイルの設定の変更で起動しなくなる。今回もご多聞に漏れず。

php.ini ファイルから関連設定を削除してページの表示を確認できた。

# 新年あけましておめでとうございます。今年もよろしくお願いします。

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20250211_204120679844.htm

キーワード: php apache



紛らわしい言葉:台と代 2024-08-12 (月) 15:43:42+09:00

学問の不思議

広辞苑の説明はさておき、自分の中ではこのように区別している。


台・・・年齢や値段(お金)など数えられる様々なものに使用でき、指定された数の最上位の位の数を変えない範囲内にあることを示す。

(例)30歳台(30歳~39歳)、千円台(1,000円~1,999円)、20本台(20本~29本)


代・・・年齢に関して使用する。指定された数の最上位の位の数を変えない範囲内にあることを示す。「世代」の意味も含まれている。

(例)30代(30歳~39歳)

キーワード:


基本的には nvidia のサイトから .run インストーラをダウンロードしてきて実行するのだが、ポイントが2点ほどある。

1) nouveau ドライバの無効化を行う。

インストーラが対話形式でこれを行うか聞いてくれるので、必ず実行する。

/etc/modprobe,d/ の中に、 nvidia-instraller-disable-nouveau.coinf が作成される。

2) UEFI セキュアブートなPCでは、 nvidia のドライバインストールに際して、セキュアブートに必要な署名付きキーを用意する必要がある。

これは nvidia からダウンロードできる .run のインストーラがインストール中に対話形式で聞いてくれるので、新規作成を選ぶと、署名キーのファイルを作成してくれる。プライベート鍵の方も消さずに残すこともできるが、必要なのは公開鍵の方なので、そのパスを必ずメモしておく。これを忘れると後で詰んでしまうので注意!!

そのまま、 .run インストーラを最後まで完了させ、 reboot した後に、

$ sudo mokutil --import <メモした公開鍵のパス>

で、作成した公開鍵を登録する必要がある。このとき、 enroll するときに用いるパスワードを決めて入力しておく。その後、再度 reboot してやると、起動時に UEFI の署名キー設定画面に遷移するので、 enroll を選択し、先程決めて入力したパスワードを入力して再起動させればよい。

鍵の登録に関しては、下のサイトの説明が参考になった。

UEFI のセキュアブート機にNVIDIAのドライバを入れる話

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20240808_232234620711.htm

キーワード: ubuntu 24.04LTS nvidia driver