尝试在Tomcat 6上运行PHP时发生java.lang.UnsatisfiedLinkError

尝试在Tomcat 6上运行PHP时发生java.lang.UnsatisfiedLinkError,php,exception,tomcat6,Php,Exception,Tomcat6,我使用堆栈溢出问题尝试在GNU/Linux下的Tomcat6上运行PHP。我收到以下异常消息: 例外情况1: java.lang.UnsatisfiedLinkError: no libphp5.so in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadL

我使用堆栈溢出问题尝试在GNU/Linux下的Tomcat6上运行PHP。我收到以下异常消息:

例外情况1:

java.lang.UnsatisfiedLinkError: no libphp5.so in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.php.reflect.loadLibrary(reflect.java:34)
at net.php.reflect.<clinit>(reflect.java:29)
at net.php.servlet.init(servlet.java:157)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:581)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)

我在
.properties
文件中有一个
libphp5.so
条目。我还有
java.library.path
中的
libphp5.so
文件。一切都建立在32位操作系统上并在其上运行。我还将
phpsrvlt.jar
php_java.jar
文件复制到
tomcat/common/lib
目录中。

最有可能的库是
libphp5。因此,linux操作系统中缺少
。尝试查找它,如果成功,请检查目录是否在系统正在查找库的目录中(例如环境变量
LD\u LIBRARY\u PATH
)(很可能不是)。如果一切正常,那么错误实际上是tomcat初始化中的某个地方


无论如何,错误表明系统无法找到
libphp5。因此

@Sean请不要这样做。这并没有修正格式。我已恢复编辑。如果你真的读过,它们是两个不同的例外现在,在这个问题上:我们不想帮助你,除非你至少表现出一些努力去理解这个例外。请不要做什么?更容易阅读错误?@Sean您删除了一段文字…@Sean抱歉。我的错误。您设置了块的格式,但显示器在几十行后将其切断。但是这个编辑应该像我一样对文章进行了更多的更正。第一个例外是,它无法在java.library.path中找到库。但是,我将libphp5.so文件手动复制到/lib中,该路径是java.library.path中包含的路径之一。它仍然找不到。顺便说一句,我使用java代码system.getProperty(“java.library.path”)在我的系统上获取java.library.path;我还尝试将LD_LIBRARY_路径设置为指向包含库的目录,但没有成功。哦,伙计,手动复制库-你在哪里看到的P您必须安装它,或者通过“makeinstall”命令编译并安装它。对不起,你似乎在试图管理比你更大的事情。。。看这里:
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:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:581)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)