Re: PHP as a Servlet in Tomcat
| From: | Ray Hunter | Date: | Fri, 03 Oct 2003 18:43:52 +0000 |
| Subject: | Re: PHP as a Servlet in Tomcat | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-164949@lists.php.net to get a copy of this message | ||
Try running php is from a servlet environment. Basically in tomcat you
set up a servlet that handles your *.php files and calls the php
executable. This is like php cgi so it can be slow.
--
BigDog
On Fri, 2003-10-03 at 12:11, David Erickson wrote:
> 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