You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Michael Hirsch <mh...@nubridges.com> on 2002/09/17 22:03:03 UTC
calling PHP from Tomcat
I'm sure I'm doing something wrong, but I can't figure out what. I'm
trying to call PHP from Tomcat (and them later call back to java from
PHP). I've followed what directions I can find, but to no avail.
I have a file test.php which I can put in either webapps/ROOT or
webapps/examples. test .php contains just
<?php phpinfo(); ?>
(I've also tried it with basic HTML headers)
According to the docs that came with PHP, Tomcat is supposed to load
libphp4 and evaluate the function, but I just get the error below.
libphp4.so is globally accessible and I've run ldconfig. phpsrvlt.jar
is in the classpath.
I've added these lines to web.xml in
<servlet>
<servlet-name>
php
</servlet-name>
<servlet-class>
net.php.servlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>
php-formatter
</servlet-name>
<servlet-class>
net.php.formatter
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
php
</servlet-name>
<url-pattern>
*.php
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
php-formatter
</servlet-name>
<url-pattern>
*.phps
</url-pattern>
</servlet-mapping>
Without these lines the file test.php is just echoed back without any
attempt at evaluation.
I've done a websearch, and the error message seems common, but no one
has reported it in my context. I'm guessing from the responses to other
questions that I need some kind of context to define my classloader, but
I don't know what.
Clearly, I'm missing something, but what? I feel like I'm just one step
away.
Thanks in advance,
Michael
Here's the error message:
Internal Servlet Error:
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:281)
at java.lang.ClassLoader.loadClass(ClassLoader.java:287)
at
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:548)
at java.lang.ClassLoader.loadClass(ClassLoader.java:287)
at
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:548)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at
org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(DependClassLoader.java:174)
at
org.apache.tomcat.util.depend.DependClassLoader12$1.run(DependClassLoader12.java:92)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.tomcat.util.depend.DependClassLoader12.loadClass(DependClassLoader12.java:90)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at
org.apache.tomcat.facade.ServletHandler.getServlet(ServletHandler.java:343)
at
org.apache.tomcat.facade.ServletHandler.preInit(ServletHandler.java:439)
at
org.apache.tomcat.facade.ServletHandler.init(ServletHandler.java:228)
at
org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:472)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:479)
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: calling PHP from Tomcat
Posted by Michael Hirsch <mh...@nubridges.com>.
Sorry, I should have mentioned, I'm using a straight install of Tomcat
3.3.1 and PHP 4.2.3.
--Michael
On Tue, 2002-09-17 at 16:03, Michael Hirsch wrote:
> I'm sure I'm doing something wrong, but I can't figure out what. I'm
> trying to call PHP from Tomcat (and them later call back to java from
> PHP). I've followed what directions I can find, but to no avail.
>
> I have a file test.php which I can put in either webapps/ROOT or
> webapps/examples. test .php contains just
>
> <?php phpinfo(); ?>
>
> (I've also tried it with basic HTML headers)
>
> According to the docs that came with PHP, Tomcat is supposed to load
> libphp4 and evaluate the function, but I just get the error below.
> libphp4.so is globally accessible and I've run ldconfig. phpsrvlt.jar
> is in the classpath.
>
> I've added these lines to web.xml in
>
> <servlet>
> <servlet-name>
> php
> </servlet-name>
> <servlet-class>
> net.php.servlet
> </servlet-class>
> </servlet>
> <servlet>
> <servlet-name>
> php-formatter
> </servlet-name>
> <servlet-class>
> net.php.formatter
> </servlet-class>
> </servlet>
> <servlet-mapping>
> <servlet-name>
> php
> </servlet-name>
> <url-pattern>
> *.php
> </url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>
> php-formatter
> </servlet-name>
> <url-pattern>
> *.phps
> </url-pattern>
> </servlet-mapping>
>
> Without these lines the file test.php is just echoed back without any
> attempt at evaluation.
>
> I've done a websearch, and the error message seems common, but no one
> has reported it in my context. I'm guessing from the responses to other
> questions that I need some kind of context to define my classloader, but
> I don't know what.
>
> Clearly, I'm missing something, but what? I feel like I'm just one step
> away.
>
> Thanks in advance,
>
> Michael
>
> Here's the error message:
>
>
> Internal Servlet Error:
>
> java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
> at java.lang.ClassLoader.defineClass0(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:281)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:287)
> at
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:548)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:287)
> at
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:548)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
> at
> org.apache.tomcat.util.depend.DependClassLoader.loadClassInternal1(DependClassLoader.java:174)
> at
> org.apache.tomcat.util.depend.DependClassLoader12$1.run(DependClassLoader12.java:92)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.tomcat.util.depend.DependClassLoader12.loadClass(DependClassLoader12.java:90)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
> at
> org.apache.tomcat.facade.ServletHandler.getServlet(ServletHandler.java:343)
> at
> org.apache.tomcat.facade.ServletHandler.preInit(ServletHandler.java:439)
> at
> org.apache.tomcat.facade.ServletHandler.init(ServletHandler.java:228)
> at
> org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:472)
> at
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
> at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
> at
> org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
> at java.lang.Thread.run(Thread.java:479)
>
>
>
> --
> To unsubscribe, e-mail: <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>