我一直在尝试将 PHP
集成到 APACHE TOMCAT 6
中,方法是遵循 QUESTION 的 second answer
在 TOMCAT 6 中运行 PHP 应用程序。我在配置方面遇到了麻烦。
首先我得到异常
java.lang.UnsatisfiedLinkError: no php5srvlt in java.library.path
。我通过将在第 12 步
中生成的php5srvlt.jar
放在tomcat\lib
中解决了这个问题。之后我面对
java.lang.UnsatisfiedLinkError: net.php.servlet.send(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Z)V net.php.servlet.send(Native Method) net.php.servlet.service(servlet.java:190) net.php.servlet.service(servlet.java:214) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
异常。
我试图为此找到解决方案,但只能接近这个 QUESTION .但是,我不想再做一遍,因为我已经试过好几次了。我尝试使用 TOMCAT 8.0.15,但失败了。现在,按照我安装 TOMCAT 6 并尝试集成 PHP 的说明进行操作。
我正在为 tomcat/webapps/PHP/test.php 的请求放置日志文件。
LOCALHOST.YYYY-MM-DD.log
Dec 29, 2014 12:15:46 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet php threw exception
java.lang.UnsatisfiedLinkError: net.php.servlet.send(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Z)V
at net.php.servlet.send(Native Method)
at net.php.servlet.service(servlet.java:190)
at net.php.servlet.service(servlet.java:214)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:617)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1778)
at java.lang.Thread.run(Thread.java:744)
TEST.PHP
<?php
echo "HELLO WORLD";
?>
编辑
我误以为我遇到了问题 1
,因为我在 tomcat/lib
中没有 php5srvlt.jar
。但实际上,问题1
是在我启动服务器后第一次请求页面时出现的。后来我看到了 问题 2
。
我从here中学到了php 和 pecl 版本必须相同,但即使使用相同的版本号 5.2.5
最佳答案
错误信息indicates that you're missing .dll-files对于这样一个..脆弱的装置来说是必要的。
The UnsatisfiedLinkError is thrown when an application attempts to load a native library like .so in Linux, .dll on Windows or .dylib in Mac and that library does not exist.
但是请 - 重新考虑您实际在做什么。在 Tomcat 中运行 PHP 上下文(几乎)没有充分的理由。
关于TOMCAT 6 中的 PHP - 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684584/