QuercusEngine 不支持所有的 PHP 代码


QuercusEngine does not support all Php code

package q;
import com.caucho.quercus.QuercusEngine;
/**
 *
 * @author Raymond(Home)
 */
public class Q {
    public static void main(String[] args) throws Exception {
    QuercusEngine engine = new QuercusEngine();
    engine.setIni("foo", "bar");
    engine.execute("<?php  $_objSmsProtocolGsm = new Com('"ActiveXperts.SmsProtocolGsm'"); ?>");
    }
}

这是我的错误

线程"main"中的异常 com.caucho.quercus.QuercusErrorException: 'Com' 是一个未知的类名。 at com.caucho.quercus.env.Env.error(Env.java:6904( at com.caucho.quercus.env.Env.createErrorException(Env.java:6476( at com.caucho.quercus.env.Env.createErrorException(Env.java:6459( at com.caucho.quercus.env.Env.findAbstractClass(Env.java:5547( at com.caucho.quercus.expr.ObjectNewExpr.eval(ObjectNewExpr.java:91( at com.caucho.quercus.expr.Expr.evalCopy(Expr.java:514( at com.caucho.quercus.expr.Expr.evalAssignValue(Expr.java:585( at com.caucho.quercus.expr.BinaryAssignExpr.eval(BinaryAssignExpr.java:88( at com.caucho.quercus.expr.Expr.evalTop(Expr.java:540( at com.caucho.quercus.statement.ExprStatement.execute(ExprStatement.java:67( at com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:414( at com.caucho.quercus.QuercusEngine.execute(QuercusEngine.java:159( at com.caucho.quercus.QuercusEngine.execute(QuercusEngine.java:116( 在q.Q.main(Q.java:17(Java 结果:1构建成功(总时间:1 秒(

我相信

您指的是启用Microsoft COM 调用的 php_com_dotnet.dll 扩展。Quercus支持有限数量的扩展(其中包括一些最常用的扩展,如GD和PDO(,但是COM扩展不在其中。

作为一种解决方法,您可以考虑将函数包装在 Web 服务中以与 PHP 通信。