4

有没有人成功让 Joomla 在IIS/Phalanger下运行?

我已经完成了 Phalanger 3.0 的安装,按照关于使 Joomla 成为使用 Phalanger 编译器运行的应用程序的说明进行操作,但由于某种原因,我什至在应用程序启动之前就收到了错误:

Error: Class 'JLogEntry' not found in C:\inetpub\wwwroot\nfspv3\libraries\joomla\log\log.php on line 169, column 4.

在安装 Phalanger 3.0 之前,我正在运行 Joomla 2.5,IIS/MySQL所以我想知道这是否是 Phalanger 编译器无法解释 PHP 的问题?很高兴知道是否有人让 Joomla 与 Phalanger 一起工作。

4

1 回答 1

1

该错误告诉您该类JLogEntry尚未定义,但它已被期望定义它的东西引用。这意味着不满足依赖关系。您log.php依赖于定义JLogEntry类的文件。JLogEntry类是这样定义的entry.php

http://www.reference.joomlademo.de/nav.html?_classes/index.html

和这个:

http://www.reference.joomlademo.de/nav.html?_classes/index.html

因此,无论出于何种原因,您都无法满足这种依赖性。如果我在您的系统上,我会四处寻找该文件,检查它是否存在、是否损坏、版本是否正确或以其他方式阻止执行。

如果您仍然怀疑您的 Phalanger 编译器有问题,请测试它。写一个简单的“hello world”并证明它是否有效。事实上,在同一个文件中(备份文件后)执行它以证明它是否正在执行。编译器在某个级别上工作,否则它不会向您显示错误消息。

编辑:

根据@highcore 的说法,Phalanger 3.0 编译器未能以 Joomla 期望的方式实现正则表达式。Joomla 依靠它来解析它将包含的文件名。因此,entry.php从不包括JLogEntry未定义。建议的解决方法是避免使用 reg ex 并拆分文件名。

于 2015-02-22T03:18:11.593 回答