Ben PECL-servlet (PHP / PECL sürümü 5.2.5) kullanarak benim Tomcatserver üzerinde PHP kuruyorum. Sunucu artık başarıyla Gerçek PHP-dosyalarını işleme, ama varolmayan sayfaları için istekleri ile ilgili bir sorun yaşıyorum.
Böyle bir sayfa, f.ex için bir istek: http://www.mydomain.com/nonexistentfile.php, catched asla bir java.io.IOException, yükseltmek için servlet neden olur. Tomcat nedenle sonlandırıldı.
I bu nasıl düzeltebilirim? I servlet gelen durumları yakalamak miyim? Sadece servlet'dir varolan dosyaları eşleştirmek için bir yolu var mı?
Cevabınız için teşekkürler, onun şimdi çalışıyor gibi görünüyor. Ben temelde phpservlet etrafında sardı ve kaldırdı istisnalar kolları benim ilk self-made servlet için php dosyalarını haritalama, Web.xml senin önerdiğin yeniden harita yaptım. Bu sorunu çözmek için iyi bir yol var mı?
O tomcat kendi böyle istisnalar işlemek mümkün değil bana biraz garip görünüyor. Ben bozuk devletlerin yürütme onu korumak için sunucuyu sonlandırma noktasını görebilirsiniz, ancak bu özel durum-işlemeyi etkinleştirmek mümkün olmalı ...
Here is my localhost.2009-12-09.log after invoking phpservlet directly with non-existent page:
(tomcat displays the 4 first lines of the stacktrace int its default errorpage before terminating)
09.des.2009 13:35:50 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 09.des.2009 13:35:50 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 09.des.2009 13:35:50 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.catalina.Registry', 'org.apache.tomcat.util.modeler.Registry@1010058') 09.des.2009 13:35:50 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.catalina.MBeanServer', 'com.sun.jmx.mbeanserver.JmxMBeanServer@bdab91') 09.des.2009 13:35:54 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet php threw exception java.io.IOException: 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:717) 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:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source)