Cronに影響を与えるJoomla 3.8.7とCivicrm 5.0.1との互換性の問題

On my last question
How to setup Cron in Civicrm- local server
I found out
Joomla.php is having problem. i used curl or cli to run cron both
does not work, here are the errors:

initial error
require(C:Apache24htdocsjoomlaadministratorcomponentscom_civicrmcivicrmadministratorincludesdefines.php):
failed to open stream: No such file or directory in
C:Apache24htdocsjoomlaadministratorcomponentscom_civicrmcivicrmCRMUtilsSystemJoomla.php
on line 559

after changing joomla.php and civicrm.settings.php civicrm_root
slashes
require_once(libraries/import.legacy.php): failed to open
stream: No such file or directory in
C:joomlaadministratorincludesframework.php on line
15

applied patch
Cron Job not working after Joomla 3.8.1 update

require_once(libraries/vendor/autoload.php): failed to open
stream: No such file or directory in
C:Apache24htdocsjoomlaadministratorincludesframework.php on
line 18

このための解決策があるかどうか疑問に思うだけです。

ベストアンサー

私はあなたがAidanが言及したようにWindows上で問題に遭遇する可能性が高いと思うが、自分自身に最高のチャンスを与える:

  • CiviCRM 5.1.0を使用すると、Joomla 3.8でcli.phpの問題を解決する追加の変更が行われます。
  • cli.phpではなくcron.phpを使用します。 cron.phpはまだいくつかの環境では動作しません

Windows上でPHPとApacheを思い出したのは、/のパスが正常に動作するため、civicrm_rootを変更したときの意味だったら
スラッシュ。

最初のエラーで見たように、 C: Apache24 htdocs joomla
administrator components com_civicrm civicrm administrator
includes define.php
のパスは正しくありません。 C: Apache24
htdocs joomla administrator includes definitions.php

を参照する必要があります。

CRM Utils System Joomla.php で、この行の
getBasePath()を見てください。

$joomlaPath = explode('/administrator', $civicrm_root);

私の推測では、スラッシュはWindowsのパスでは一致していないので、次のように変更してみてください:

$joomlaPath = explode(DIRECTORY_SEPARATOR . 'administrator', $civicrm_root);

UPDATE 22 August 2018: The above change to
getBasePath() will be in CiviCRM 5.6

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です