4.7.31から5.3へのアップグレード時にサイトが任意のciviページをロードできなかった場合、一般的なエラーメッセージが表示されます。
ログに私は参照してください:
CiviPaymentExceptionPaymentProcessorException:
CRM_Core_Payment_PayPalImpl: Payment processor type is not defined!
in CRM_Core_Payment_PayPalImpl->__construct() (line 73 of
/var/www/xxxxxx/sites/all/modules/civicrm/CRM/Core/Payment/PayPalImpl.php).
しかし、このサイトはpaypalを使用していない、それはauthorizenetを使用するので、なぜこれが致命的なエラーを引き起こしているのか分かりません
私の一時的な回避策は、PayPalImpl.phpの73行目をコメントアウトするだけでしたが、支払いはまだ有効であることを確認する必要があります。他の誰も5.3で同様の問題がありますか?
ベストアンサー
私はこれをgitlabに投稿しました。 https://lab.civicrm.org/dev/core/
issue/250 となり、問題は私のデータベースの奇妙なレコードに関連することが判明しました。
このクエリは、Elieenから悪い行を公開しました
SELECT p.id, p.name, p.class_name, p.is_active, pt.id, pt.class_name, pt.name
FROM civicrm_payment_processor p
LEFT JOIN civicrm_payment_processor_type pt ON pt.id = p.payment_processor_type_id
+----+--------------------+----------------------+-----------+------+----------------------+---------+
| id | name | class_name | is_active | id | class_name | name |
+----+--------------------+----------------------+-----------+------+----------------------+---------+
| 1 | Dummy Processor | Payment_PayPalImpl | 1 | 10 | Payment_Dummy | Dummy |
| 2 | Dummy Processor | Payment_Dummy | 1 | 10 | Payment_Dummy | Dummy |
そこで私はcivicrm_payment_processorの行を更新してPayment_PayPalImplをPayment_Dummyに変更し、すべてがCiviコードに変更されることなく動作します。