Windows XAMPP PHP 8.1.10 への Pear のインストール
P粉141911244
P粉141911244 2023-12-31 10:46:35
0
1
348

公式 [マニュアル][1] にある PEAR のインストール方法の指示に従っていると、次のエラーが発生しました:

致命的エラー: キャッチされないエラー: C:xampp_latestphp (include_path='C:xampp_latestphpPEAR') の必要な 'phar://go-pear.phar/index.php' を開けません go-pear .phar: 1284 スタック トレース: #0 {main} が C:xampp_latestphpgo-pear.phar 行 1284

でスローされました

他の解決策を探してみたところ、[これ][2]を見つけました。ただし、依然として pear をインストールできず、次のエラーが表示されます:

PHP 致命的エラー: C:xampp_latestphpgo-pear.php 行 1182 中括弧を使用した配列および文字列のオフセット アクセス構文はサポートされなくなりました。

ネットワークとコマンドライン経由でインストールしようとしましたが、同じエラーが発生しました。

また更新です。 さらに検索を続けたところ、次のものが得られました。 協会 そこで、エラーで示唆されているように、別のファイルで中括弧を角括弧に変更しようとしましたが、最終的に次のエラーが発生しました。 リーリー


P粉141911244
P粉141911244

全員に返信(1)
P粉222320176

基本的に、xampp が提供する PEAR は、PHP 8.x で実行できるように更新されていません。また、PHP 8.0 では非推奨または削除された複数の機能に直面し、PHP の致命的なエラーが発生しました。

1) アクセス文字の問題
最初の問題は、 文字列アクセスで中括弧 {} が使用されることです。 にアクセスするときのゼロベースのオフセットが削除され、角括弧 []## のみが使用できます #。

元のコードを比較

リーリー

固定コードを使用:

リーリー ######解決:### ### 正規表現

\{(\$[a-zA-Z0-9\ ]*)\}

を使用して、xampp/php/pear フォルダー内のすべてのファイルを検索し、## に置き換えます#[$1]
重要: すべての出現箇所を確認し、スクリプト内の正規表現を変更しないでください。 ! !
2) 捕捉されない ArgumentCountError 問題 2 番目の問題は、PHP 関数
set_error_handler
が PHP 8.0.0 で
最後のパラメータ を削除したことです。 コールバック関数には
5 つの引数 が必要ですが、取得できるのは 4 つの引数 だけなので、呼び出しは PHP Fatal error: Uncaught ArgumentCountError: Too Fewarguments to function error_handler( ) , 4 で失敗します。項目は渡されましたが、期待されていたのはちょうど 5 項目です。
######解決:### ### set_error_handler( 呼び出しを検索し、参照されているコールバック関数 error_handler を見つけて、最後の引数をオプションにします。 私の場合、それはスクリプト xampp\php\pear\pearcmd.php

にあり、関数定義は 446 行目にありました:

元の関数定義を比較: リーリー
修正適用後: リーリー 注: 2021 年 9 月に、Apache Friends Support Forum で「バグ」が報告されていることがわかりました。

3) 未定義関数 each() の問題

3 番目の問題は、PHP 関数

each()

が削除され、「

PHP Fatal Error: Uncaught Error: Call to unknown function each()」がスローされることです。 ######解決### ###
each(
(結果セット内の関数 "foreach" を削除するにはスペースを使用します) の出現をすべて検索し、関数
foreach で確認して更新し、各 .\ で正しいパラメーター ファイルを使用します。
while 構文例 リーリー

に置き換えることができます リーリー

リスト 構文例
リーリー に置き換えることができます リーリー If - else

ステートメントでは他にもいくつかの状況が使用されます。

emtpy($args) の後に foreach($args as $opt_arg) を使用できます。{}

変数 $opt_arg を構築します。

If - else 構文例 リーリー

に置き換えることができます リーリー

PEAR がついに XAMPP バージョン: 8.2.0

で動作するようになりました リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!