PHP as a Servlet in Tomcat
| From: | David Erickson | Date: | Fri, 03 Oct 2003 18:11:25 +0000 |
| Subject: | PHP as a Servlet in Tomcat | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-164942@lists.php.net to get a copy of this message | ||
Hi I am wondering if anybody has successfully been able to run PHP in a
servlet only environment? I am trying to setup php to run as a servlet
within tomcat on my win2k box and am having encredible difficulties.. here
are the specs and the problem. Any suggestiongs extremely appreciated:
Jakarta Tomcat 4.1.24
JDK 1.4.1_03
PHP 4.3.4RC1 Win32 (tried 4.3.3 as well same problem)
Win2k
I followed the instructions to a T on installing php for servlet.. IE put
the phpsrvlt.jar file in the lib dir in tomcat, php4ts.dll in the
winnt\system32, php.ini in winnt with extensions_dir variable properly set,
and all extensions commented out. If I uncomment the php_java.dll I get
warning messages when I try to hit a php file that say "Warning Function
registration failed - duplicate name - java_last_exception_clear" along with
a couple more.
After i clear those message windows this is what I get from tomcat the first
time I try to hit a test.php file:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
java.io.IOException: null
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:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
Then if I try and refresh to hit it again tomcat completely dies and it
crashes my jvm.
Here is the log trace:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0xC6536CA
Function=zend_hash_add_or_update+0x9A
Library=C:\WINNT\system32\php4ts.dll
Current Java thread:
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:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
cmcflex.salesweb.control.SecurityFilter.doFilter(SecurityFilter.java:110)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
at java.lang.Thread.run(Thread.java:536)
Dynamic libraries:
0x00400000 - 0x00406000 C:\j2sdk1.4.1_03\bin\java.exe
0x77F80000 - 0x77FFB000 C:\WINNT\system32\ntdll.dll
0x7C2D0000 - 0x7C332000 C:\WINNT\system32\ADVAPI32.dll
0x7C4E0000 - 0x7C599000 C:\WINNT\system32\KERNEL32.DLL
0x77D30000 - 0x77D9E000 C:\WINNT\system32\RPCRT4.DLL
0x78000000 - 0x78045000 C:\WINNT\system32\MSVCRT.dll
0x6D340000 - 0x6D46B000 C:\j2sdk1.4.1_03\jre\bin\client\jvm.dll
0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
0x77570000 - 0x775A0000 C:\WINNT\system32\WINMM.dll
0x6BD00000 - 0x6BD0D000 C:\WINNT\system32\SYNCOR11.DLL
0x6D1E0000 - 0x6D1E7000 C:\j2sdk1.4.1_03\jre\bin\hpi.dll
0x6D310000 - 0x6D31E000 C:\j2sdk1.4.1_03\jre\bin\verify.dll
0x6D220000 - 0x6D239000 C:\j2sdk1.4.1_03\jre\bin\java.dll
0x6D330000 - 0x6D33D000 C:\j2sdk1.4.1_03\jre\bin\zip.dll
0x6D2E0000 - 0x6D2EE000 C:\j2sdk1.4.1_03\jre\bin\net.dll
0x75050000 - 0x75058000 C:\WINNT\system32\WSOCK32.dll
0x75030000 - 0x75044000 C:\WINNT\system32\WS2_32.DLL
0x75020000 - 0x75028000 C:\WINNT\system32\WS2HELP.DLL
0x782C0000 - 0x782CC000 C:\WINNT\System32\rnr20.dll
0x77980000 - 0x779A4000 C:\WINNT\system32\DNSAPI.DLL
0x77340000 - 0x77353000 C:\WINNT\system32\iphlpapi.dll
0x77520000 - 0x77525000 C:\WINNT\system32\ICMP.DLL
0x77320000 - 0x77337000 C:\WINNT\system32\MPRAPI.DLL
0x75150000 - 0x7515F000 C:\WINNT\system32\SAMLIB.DLL
0x75170000 - 0x751BF000 C:\WINNT\system32\NETAPI32.DLL
0x7C340000 - 0x7C34F000 C:\WINNT\system32\SECUR32.DLL
0x751C0000 - 0x751C6000 C:\WINNT\system32\NETRAP.DLL
0x77950000 - 0x7797A000 C:\WINNT\system32\WLDAP32.DLL
0x77A50000 - 0x77B3C000 C:\WINNT\system32\OLE32.DLL
0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL
0x773B0000 - 0x773DF000 C:\WINNT\system32\ACTIVEDS.DLL
0x77380000 - 0x773A3000 C:\WINNT\system32\ADSLDPC.DLL
0x77830000 - 0x7783E000 C:\WINNT\system32\RTUTILS.DLL
0x77880000 - 0x7790E000 C:\WINNT\system32\SETUPAPI.DLL
0x7C0F0000 - 0x7C152000 C:\WINNT\system32\USERENV.DLL
0x774E0000 - 0x77513000 C:\WINNT\system32\RASAPI32.DLL
0x774C0000 - 0x774D1000 C:\WINNT\system32\RASMAN.DLL
0x77530000 - 0x77552000 C:\WINNT\system32\TAPI32.DLL
0x71710000 - 0x71794000 C:\WINNT\system32\COMCTL32.DLL
0x70BD0000 - 0x70C35000 C:\WINNT\system32\SHLWAPI.DLL
0x77360000 - 0x77379000 C:\WINNT\system32\DHCPCSVC.DLL
0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
0x777F0000 - 0x777F5000 C:\WINNT\system32\rasadhlp.dll
0x74FD0000 - 0x74FEE000 C:\WINNT\system32\msafd.dll
0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
0x7CA00000 - 0x7CA23000 C:\WINNT\system32\rsaenh.dll
0x77440000 - 0x774B8000 C:\WINNT\system32\CRYPT32.dll
0x77430000 - 0x77440000 C:\WINNT\system32\MSASN1.DLL
0x10000000 - 0x10006000 C:\Java\php-4.3.4RC1-Win32\sapi\phpsrvlt.dll
0x0C5A0000 - 0x0C6EF000 C:\WINNT\system32\php4ts.dll
0x1F7D0000 - 0x1F804000 C:\WINNT\system32\ODBC32.dll
0x76B30000 - 0x76B6E000 C:\WINNT\system32\comdlg32.dll
0x782F0000 - 0x78538000 C:\WINNT\system32\SHELL32.DLL
0x0C7F0000 - 0x0C806000 C:\WINNT\system32\odbcint.dll
0x0C850000 - 0x0C856000 C:\Java\php-4.3.4RC1-Win32\extensions\php_java.dll
0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
0x690A0000 - 0x690AB000 C:\WINNT\system32\PSAPI.DLL
Local Time = Thu Oct 02 15:27:58 2003
Elapsed Time = 223
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_03-b02 mixed mode)
#
Any ideas or help will be extremely helpful.. I'd really like to get PHP
integrated into tomcat but this isn't working =(
Thanks a bunch
David Erickson