Partkeepr: キャッシュのウォーミングアップでセットアップが失敗する(モノログエラー)

作成日 2017年09月23日  ·  20コメント  ·  ソース: partkeepr/PartKeepr

システムインフォメーション

  • PartKeeprバージョン:1.3.0
  • PHPバージョン7.2

最後のステップに到達すると、画像からエラーが発生します。

2017-09-22 15_28_28-partkeepr setup

move-to-wiki

最も参考になるコメント

あなたはこれを素早く汚く修正することができます:
ファイルに移動-> / vendor / symfony / monolog-bundle / DependencyInjection / Configuration.php

594行目あたりコメントアウトするか、以下の行を削除してください。

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

次の行を追加します。
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

その後、インストーラーがインストールを完了し、アプリケーションにアクセスできるようになります。

全てのコメント20件

不具合:

Invalid configuration for path "monolog.handlers.main": Warning: count(): Parameter must be an array or an object that implements Countable

PHP 7.2が原因で、一時的な回避策はPHP7.1にダウングレードされています。

バグはアップストリームsymfonyにあります。httpsください。

これに対する修正はありますか? 私はLinuxMintを使用していますが、php7.1をインストールする専門のLinuxユーザーではありません... LinuxMintは7.2標準しか提供していません...

あなたはこれを素早く汚く修正することができます:
ファイルに移動-> / vendor / symfony / monolog-bundle / DependencyInjection / Configuration.php

594行目あたりコメントアウトするか、以下の行を削除してください。

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

次の行を追加します。
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

その後、インストーラーがインストールを完了し、アプリケーションにアクセスできるようになります。

これはまだ推奨される修正ですか?

はい、そうです。
symphony / monolog-bundleの修正は、バージョン3.1.2でリリースされ、PartKeeprは2.4を使用しています。
新しいバージョンのmonolog-bundleを使用できるようにするには、シンフォニーを更新する必要があり、それは簡単には実行できません(非常に多くの時間の投資が必要です)。
@erikvanberkumからの回避策は、それを行うための最良の方法です。

ガッチャ。 セットアップスクリプトの一部として自動修正があるのではないでしょうか。
つまり、その行を置き換える自動修正です。

Raspberry Pi3 +にPartkeeprをインストールしようとしたときにこの問題が発生しました

私はあきらめてクリーンな再フラッシュを行い、OSとPartkeeprを最初から再インストールしました。
このページ-https ://wiki.partkeepr.org/wiki/PartKeepr_on_Debian_%22Stretch%22

タイムアウトを120ではなく130に設定し、データベースパラメータページの後、このページをたどりました
https://wiki.partkeepr.org/wiki/APC_Metadata_Caching

yamlを編集して続行すると、正常にインストールされました。

これらすべてのフォークのうち、動作中/最新のコードを備えたものはどれですか?
私は今それらのうちの13を試しました、そしてそれでもそれをインストールすることさえできません:(
CentOSの使用。

私の情報:

cat / etc / centos-release

CentOS Linuxリリース7.6.1810(コア)

うなめ-a

Linux xxx.org 3.10.0-957.12.2.el7.x86_64#1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

php -v

PHP 7.2.19(cli)(ビルド:2019年5月29日11:04:13)(NTS)
Copyright(c)1997-2018PHPグループ
Zend Engine v3.2.0、Copyright(c)1998-2018 Zend Technologies

mysql --version

mysql Ver 15.1 Distrib 5.5.60-MariaDB、Linux(x86_64)用、readline5.1を使用

httpd -v

サーバーバージョン:Apache / 2.4.6(CentOS)
サーバー構築:2019年4月24日13:45:48

私が得るエラー:

[Sat Jun 01 00:22:58.384109 2019] [php7:warn] [pid 13807] [client 155.4.14.39:56332] PHP警告:require_once(/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ):ストリームを開くことができませんでした:6行目の/webdata1/partkeepr/web/app.phpにそのようなファイルまたはディレクトリはありません。参照元: http ://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.384190 2019] [php7:error] [pid 13807] [client 155.4.14.39:56332] PHP致命的なエラー:require_once():必要なものを開くことができませんでした '/webdata1/partkeepr/web/../ 6行目の/webdata1/partkeepr/web/app.phpのapp / bootstrap.php.cache '(include_path ='。:/ usr / share / pear:/ usr / share / php ')、参照元: http:// partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.394956 2019] [php7:warn] [pid 13797] [client 155.4.14.39:56331] PHP警告:require_once(/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ):ストリームを開くことができませんでした:6行目の/webdata1/partkeepr/web/app.phpにそのようなファイルまたはディレクトリはありません。参照元: http ://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.395025 2019] [php7:error] [pid 13797] [client 155.4.14.39:56331] PHP致命的なエラー:require_once():必要なものを開くことができませんでした '/webdata1/partkeepr/web/../ 6行目の/webdata1/partkeepr/web/app.phpのapp / bootstrap.php.cache '(include_path ='。:/ usr / share / pear:/ usr / share / php ')、参照元: http:// partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.565949 2019] [php7:warn] [pid 13799] [client 155.4.14.39:56334] PHP警告:require_once(/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ):ストリームを開くことができませんでした:6行目の/webdata1/partkeepr/web/app.phpにそのようなファイルまたはディレクトリはありません。参照元: http ://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.566015 2019] [php7:error] [pid 13799] [client 155.4.14.39:56334] PHP致命的なエラー:require_once():必要なものを開くことができませんでした '/webdata1/partkeepr/web/../ 6行目の/webdata1/partkeepr/web/app.phpのapp / bootstrap.php.cache '(include_path ='。:/ usr / share / pear:/ usr / share / php ')、参照元: http:// partkeepr.ddns.net/setup/index.html4

最近Partkeeprをインストールしましたが、このメッセージが表示されませんでした。 したがって、私はそれを閉じています。 誰かがそれに遭遇した場合、私たちは再開します。

@christianlupusエラーが発生し、修正は#1065です...

この問題が発生しました。 monolog-bundle> 3.1.0へのアップデートで修正されました
Composerにはsymfony / monolog- bundle:3.1が必要

@christianlupusこれはドキュメントに追加するのに良いものだと思います:)

私はそれをドキュメント(少なくともステージングのもの)に入れることができますが、これが本当に良い考えだとは思えません。 バンドルの一部を2.7から3.1に変更します。 これはメジャーバージョンの変更であり、これが持つ可能性のある、または持たない可能性のある副作用については認識していません。
実際、ユーザーにsymphony3の更新を部分的に行わせることができます。 私はそのような混合バージョンのゾンビプログラムで非常に悪い経験をしました....今は失敗しないかもしれませんが、いつでも失敗するかもしれません。 私は、私たち二人があまり知らないシステムにそれほど多くのことを入れるための公式のアドバイスをしたくありません。 私の最初のチェックでは、壊れた依存関係は見つかりませんでしたが、これは簡単な手動の方法でのみ行われました。

@baradhiliこれが安全なアドバイスであるというより多くの情報や知識がありますか?

@christianlupusああモジュールのアップグレードをしていません..しかし@erikvanberkumのコメント

<<
あなたはこれを素早く汚く修正することができます:
ファイルに移動-> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

594行目あたりコメントアウトするか、以下の行を削除してください。

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

次の行を追加します。
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

その後、インストーラーがインストールを完了し、アプリケーションにアクセスできるようになります。

>>

ああ、わかりました、なるほど。 ドキュメントに書き込むまで開いたままにします。

私はこれで同じ問題を抱えています..そして古いバージョンのphpをインストールする方法を見つけることができません... ?? 助けてもらえますか。
問題:

パス "monolog.handlers.main"の構成が無効です:警告:count():パラメーターはCountableを実装する配列またはオブジェクトである必要があります

私はそれを修正しようとしました:

ファイルに移動-> / vendor / symfony / monolog-bundle / DependencyInjection / Configuration.php

594行目あたりコメントアウトするか、以下の行を削除してください。

//-> ifTrue(function($ v){return( 'fingers_crossed' === $ v ['type'] || 'buffer' === $ v ['type'] || 'filter' === $ v ['type'])&& 1!== count($ v ['handler']);})

次の行を追加します。
-> ifTrue(function($ v){return( 'fingers_crossed' === $ v ['type'] || 'buffer' === $ v ['type'] || 'filter' === $ v ['type'])&&(empty($ v ['handler'])||!is_string($ v ['handler']));})

しかし、このエラーを取得してください:
err

@steglは、この問題をここでように、

@christianlupusああモジュールのアップグレードをしていません..しかし@erikvanberkumのコメント

<<
あなたはこれを素早く汚く修正することができます:
ファイルに移動-> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

594行目あたりコメントアウトするか、以下の行を削除してください。

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

次の行を追加します。
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

その後、インストーラーがインストールを完了し、アプリケーションにアクセスできるようになります。

>>

この修正を試しましたが、別のエラーが発生します。

「サーバーからの無効な応答」

この修正はまだ有効ですか?

@xadonxanderという名前の「修正」は決して修正ではありませんでした。 明らかにエラーである依存関係コードをハッキングしているのは明らかです。

したがって、もう一度明確にするために/vendorフォルダーの下には何も変更しないでください。

当面の最善の修正は、PHP7.0または7.1を使用することです。 そうすれば、エラーはまったく表示されないはずです。 それとは別に、私たちは間違いなく更新する必要があります。#1083を参照してください。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

christianlupus picture christianlupus  ·  55コメント

kgabryszewska picture kgabryszewska  ·  8コメント

FinalHopee picture FinalHopee  ·  32コメント

baradhili picture baradhili  ·  17コメント

mctomaszek picture mctomaszek  ·  20コメント