再インストールでのエラーの解決方法と疑問点

phpMyAdminへ保存の「DATA」を入れ替えてWordpressデータの最適化をしたら「 ‘user_registered’ へのデフォルト値が無効です。」とエラーが出た。

 

「解決方法」
MySQLのconfigボタンを押し、my.iniを開いて下記の文字列を探して修正して解決した。

## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/xampp/mysql/share/charsets"
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION ⇐ 文字列
log_bin_trust_function_creators=1

*NO_ZERO_DATEを削除する。

「疑問点」——————–
phpMyAdminが古いDATAのwp_userのuser_passと同じパスワードでのインストールだけど、エラーが発生してwordpressへのLog-inが出来なくなった。又、Log-inの制限が掛かっていたので、30分後に再度トライ、今度は1時間後トライ!その間に再度phpMyAdmin側でパスワードを削除して再入力して試したところ何故か無事にLog-inできた。

最新の「XAMPP Version 8.1.25」をインストール

最終保存のXampp&phpが初期の8.1系なので、最新のバージョン「8.1.25」をインストールした。

 

webサーバー手順:
最新のWordpressをインストール&TwentySeventeenもインストール。Apacheのhttpd.conf、httpd-ssl.conf、httpd-vhost.confを以前のファイルを参考にして修正、MySQL(MariaDB)に関しては新しい「data」のみ削除して古いのに置き換えて、htdocs内のWordpressを削除して古いWordpressに置き換える。
最後にwebサーバーをSSL化するためLet’Encryptにアカウントを登録し、SSL証明書を取得.

※今回はXAMPPが同一系ということもあって、公開するまでの作業はスムーズに運ぶことができた。次にXamppのバージョンアップでは「Server」内の過去の記事を参考に作業ができそうだ。

中古のデスクトップPCを購入

デスクトップPCの購入では使い慣れたデル製品が目につき即決していたが、今回、L.I.Bの製品に決めたのはアフターケアが良さそうな感じなので決めた。

 

ひどい段ボールの中に、机上に置くに丁度良い大きさのデスクトップPCが収まっていたので心配したがセッティングを済ませて起動、早速ログインのためにユウザーアカウントの設定と再起動したところビックリ、ログイン画面に「ログイン」と表示でパスワード入力にならないでWindowsへ移動しないトラブルが発生、修復して起動させたがMS Officeの認証な消えたので使えないなどのトラブル発生したので早速カスタマーサービスを受けた。説明は抜きにして、満点のサポートで担当者に感謝。

コンパクトな中古のデスクトップPCだけど、ストレスなく使えているのと、サポートが行き届いている感じなので良かった。

【備済み品】デスクトップパソコン Prodesk 400 G5 SF 第8世代 Core i5-8500 SSD MS Office 2021搭載 Windows11 デスクトップPC 中古デスクトップパソコン (SSD&HDD:256/500GB メモリ:16GB)-Amazon整備済み品

XAMPP8.1 の再インストールで「phpMyAdmin」に出た警告の簡単な解決方法


PCの調子が悪くなった原因が未だ不明の中、Xampp8.1の「phpMyAdmin」にも影響が出たようで画面が開かなくなった。最終的にXAMPPの再インストールで解決したが「設定ファイルに定義されている管理ユーザ(controluser)での接続に失敗しました。」と言うエラーが又出てしまった。以前のこともあり「MySQL」を開き「phpmyadmin」のデータベースがrootユーザーで追加されているのを確認、「pmaとpassword」もrootユーザーに変更した。

自宅サーバー

データベース「phpmyadmin」の警告

[pmaとpassword]

管理ユーザ(controluser)での接続エラーを直す設定

[ config.inc.php ]
$cfg['Servers'][$i]['controluser'] = ‘root’;
$cfg['Servers'][$i]['controlpass'] = ‘rootユーザーのパスワード’;

以前のXAMPP8.1をインストールした後、MySQLをrootユーザーでチェックした時にはデータベースの「phpmyadmin」はrootユーザーでも良い感じだったのを思い出して上記の設定で試したところ、ナナナんと警告が消えた!と言うことは正解だったようだ。

PHP8の追加機能「JIT(ジャストインタイム)コンパイラー」で高速処理

WordPress6.1からキャッシュ関係の厳しいチェックを解決するために、PHPの機能からデータ部分のキャシュ処理による高速化により、WordPressのヘルスセンターの確認で「すべて問題なく作動中!」となった。但し、ホスティングサービスに関するプラグインは利用しないので、そのインフォメーションは非表示にした。

server

Just-In-Time (jit) compiler

php8以降に追加された機能でデータキャシュ等の処理を高速化


PHP8のリリースで「JIT(ジャストインタイム)コンパイラー)」と言う機能が追加、この機能によるパフォーマンスで環境により左右されるようだけど、約1.5~3倍程度高速処理されるらしい。

PHP8-OPcacheの追加機能JITついてJITはJust-In-Timeの略でプログラムの実行時にソースコードをネイティブコードへコンパイルを行う。これをメモリに保持しておき、同じリクエストが来た場合にコンパイル済みコードを実行して処理を高速化。JIT は opcache が有効になっている場合にのみ機能する。これはOPcacheで「opcache.enable=1」に設定されている必要があり、又、JIT自体を有効にするには、「opcache.jit_buffer_size」を指定する必要がある。
*ソースコードからバイトコード(Opcode)へ変換し、変換されたOpcodeをZend Engineが解釈しネイティブコード(機械語)へ変換

JITを知ったのは、OPcacheを有効化するとApacheで「キャシュがオーバフロー」したとの警告が出た為で、原因を調べるとOpcacheを有効化するためには「opcache.jit」の設定も必要になる。取り合えず最低限必要な「opcache.jit=off」にしてからベーシックな設定を施した。

zend_extension = opcache
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=4
opcache.max_wasted_percentage=5
opcache.use_cwd=1
;opcache.jit=off
[JITの設定部分]
opcache.jit = 1255
opcache.jit_buffer_size = 100M
;opcache.jit = on
*opcache.jit_buffer_size=100M ←変更
*opcache.jit=1255 ←(on)の替りにディフォルト値として。

キャッシュ用Zend ExtensionsであるOPcacheの機能の一部として実装されている。ようは「opcache.jit」のプログラムに適した設定をすることで「OPcacheより高速化が見込めるキャッシュ機能」となるようだ。ん~、難しい!

PHP8.1にAPCuの導入とOPcacheを設定してPHPサーバの高速化

XAMPPのPHP8.1.12はZend OPcacheにてコードレベルのキャッシュを管理、APCuはデータキャッシュを管理してPHPの処理が高速になる。

自宅サーバ

APCu OPcache

[インストールと設定]

 

●オブジェクトデータキャッシュのapcu
●ネイティブコードキャッシュのZend OPcache

2つのレイヤーで高速化を行い、双方ともにwindows環境でも設定を行うことが可能。

APCuのインストール

PHPの高速化エクステンションであるapcは既にサポートされてないので、APCuがPHPでコンパイルされたデータをキャッシュしてくれる。1度キャッシュしたものは2回目はキャッシュから読み込むのでコンパイル処理が省かれ、PHP処理が高速になる。

https://pecl.php.net/package-stats.php
*peclからダウンロードすることが可能。
*xamppで.ZIPを解凍してファイル内のphp_apcu.phpをphp\ext内にコピーすればインストールは完了。

APCuの設定と有効化
\xamp\php\php.iniのdynamics ExtensionsとAPCuの設定を追記して有効化。

1) php_apcu.phpを\xampp\php\php.iniの[dynamics Extensions]に追記
extension=apcu
2) [opchache]の次辺りに追記
[APCu]
apc.shm_size=128M
apc.ttl=86400
apc.gc_ttl=86400
*コマンドプロンプトで設定状況を確認
> php -i | egrep 'apc|opcache'

APCu コントロールパネル
GitHubからダウンロード
https://github.com/krakjoe/apcu/archive/

ダウンロードした拡張子(.php.txt)の.txtを削除して\xampp\htdocsに入れる。

>\xampp\apcu-master\apc.php
defaults('ADMIN_USERNAME','apc'); // Admin Username
defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
↓変更
defaults('ADMIN_USERNAME','ユーザ名'); //
defaults('ADMIN_PASSWORD','パスワード'); //

OPcacheの設定と有効化

1) [Dynamic Extensions]
;extension=opchache ←(;)を外して有効にする。
2) [opcache] ←下記の(;)を外して有効にする。
;opcache.enable=1
;opcache.enable_cli=1
;opcache.memory_consumption=256 ←2倍
;opcache.interned_strings_buffer=4
;opcache.max_wasted_percentage=5
;opcache.use_cwd=1
*コードの変更にはキャッシュを使わない。
*opcache.jit=off ←必要なら追記

OPcacheコントロールパネル

https://github.com/krakjoe/apcu/archive/
ダウンロードしたapc.phpをC:\xampp\htdocsにコピーすればインストールは完了。
*環境にもよるが、0.5秒程度変わる。
*パネル上のAPCuのキャッシュ有効で緑の部分が減る。


Zend OPcacheはコードのキャッシュのみでオブジェクトデータはキャッシュしないので、php.iniでキャッシュしてくれる最大サイズと、キャッシュの有効期間を設定する。

注意:設定終了後、XAMPPのApacheを再起動とerror.logでキャッシュ関係のエラー(有る・無い)を確認する事。

MemcachedのサーバーをWindows10&クライアントをXAMPPのPHPへ導入

Server

Memcachedサーバとクライアント

[Windows10 PHP8.1.12]


1)WordPress側のインストールと設定
Windows10のmemcachedサーバーをダウンロードしてProgram Fileに解凍後、Windows環境変数に登録。

最低限のコマンド:
>memcached\memcached.exe -d install ← 本来はサービスに登録できる。
>memcached\memcached.exe -d start ← 起動、Windowsの再起動で自動?
>memcached\memcached.exe -d unstall ← サービスに登録を削除。
>memcached\memcached.exe -d stop ← 停止、再起動でデータの削除。
>memcached\memcached.exe -m 000 ← 必要ならばメモリサイズの指定(000MB)
*-dはバックグラウンドで操作
Memcachedサーバの起動確認:
>telnet localhost 11211
>stats ←ステータスの表示
>stats settings ← 設定したステータス
>quit ←終了

自宅サーバーにはPHP側に必要なホスティングサービスが無いので、PC上でデータ管理が出来ないと言うこになるのでMemcachedサーバの導入が最低限の手段。又、Windows上でデータ管理が出来ても障害が起きた場合の対応が出来ないので、MemcachedサーバはPCの再起動で全てのデータを削除出来るのが良い。

2)WordPress側にクライアントのインストールと設定
PHP8.1のphp_memcache—.zipをダウンロードしてXampp内に解凍する。解凍した「php_memcached.phpを\xampp\php\extにコピー。又、「php_memcached.php」をphp.ini 内Dynamics Extensionに追記。

[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
*「Opcache」の次辺りに設定を追記

Memcachedサーバに関しては、Windowsの環境変数に登録して基本設定だけで管理。

自宅サーバをXAMPP8.2からXAMPP8.1.12へ

XAMPP8.2へバージョンアップした自宅サーバーをXAMPP8.1.12へと再インストールした。原因がPHP8.2の問題なのか分からないけど、Apache、phpMyAdminでの警告、imagickがインストールされない等、余り気にしなくても良いらしいけど気になる。取り合えす以前のPHP8.1系のバージョンXAMPP8.1.12したところ、すべての警告やimagickのインストール等が解決!

注意:XAMPPのバージョンアップの場合、MYSQLのオリジナルの DATA内へwordpress.sqlでデータを(インポート)戻す事。

自宅サーバをXAMPP8.2へバージョンアップ

新年に合わせてXAMPP8.2へバージョンアップを試みた。

Server

XAMPP8.2のインストール

 

昨年までがPHP8.1なのでPHP8.2にバージョンアップすると不都合が発生するかを調べたところ、3つの問題が起きたけど大した不都合ではなかった。

1.ワードプレスでは、モジュール imagick がインストールされていないか、無効化されている問題が発生したので新たにインストールしたが、Wordpressのサイトヘルスに反映されない。
2.Apacheではhttpd-ssl.phpの設定に問題があったので修正して解決した。
3.php.iniのモジュールopcacheを有効にするとエラーを起こしてapacheが起動しない。


上記の問題は恐らくPHP8.2 の機能的な問題かな?と言うことで暫くの間様子を見る事にした。

追記phpMyAdminでも、「環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」と言う警告が出ていた。以前は「代わりにデータベースの操作タブを使って設定することもできます。」で設定ができたが今回は設定が出来なかった。MySQLのDATA修復も試みたが直らないので、XAMPP8.2を再インストールしたが相変わらず警告が出る。原因不明!?

新たに自宅サーバをXAMPP 8.1.10へアップグレード

XamppのHPに訪れると既に真新しいXampp 8.1.10となっていたので、心機一転この自宅サーバをアップグレードすることにした。

<アップグレード>

XAMPP 8.1.10

 

[ApacheFriends XAMPP Version 8.1.10]

Important! PHP in this package needs the Microsoft Visual C++ are installed on your system.

 

  Apache 2.4.54  MariaDB 10.4.24  PHP 8.1.10
  phpMyAdmin 5.2.0  XAMPP Control Panel Version 3.3.0
 *メール及びFTPサーバは更新無し
  Mercury Mail Transport System 4.63  FileZilla FTP Server 0.9.41

 

「phpMyAdmin」で警告が出た2点

1] phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。代わりにデータベースの操作タブを使って設定することもできます。
2] 設定ファイルの中に記述されているパスフレーズ(blowfish_secret)の長さが正しくありません。 32 バイトでなければなりません。
*案の定config-inc.phpがShift-JISだったのでUTF-8に、秀丸でエンコードの変換にて解決した。

前回の更新では少しばかり躓いたけど、以前の記事を再読してアップグレードしたところ今回は問題なくスムーズに更新できた。

TOP

Copyrighted Image