有没有人成功让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之前在IIS/MySQL
上运行了Joomla 2.5,所以我想知道Phalanger编译器是否存在解释PHP问题的问题?如果有人让Joomla和Phalanger一起工作,那就太好了。
答案 0 :(得分: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和拆分文件名。