码头服务器运行php代码

我想进行配置,以使jetty运行PHP文件,但到目前为止仍未成功.我在Eclipse IDE中安装了Jetty WTP工具.

当我启动Jetty服务器时.我有一个例外:java.lang.ClassNotFoundException org.mortbay.servlet.CGI:org.mortbay.servlet.CGI和javax.servlet.UnavailableException:org.mortbay.servlet.CGI.我在WebContent文件夹下放置了一个简单的php文件(index.php).我还下载了该library并将其添加到classpath(Eclipse:构建路径并添加外部jar).我现在不知道我做错了什么.我也用以下命令编译了php:

./configure --with-fastcgi=/usr/local
make
sudo make install

我的web.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Sample PHP Application</display-name>
    <servlet>
        <servlet-name>PHP</servlet-name>  
        <servlet-class>org.mortbay.servlet.CGI</servlet-class>
        <init-param>
            <param-name>commandPrefix</param-name>
            <param-value>/usr/local/bin/php-cgi-fix</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>PHP</servlet-name>
        <url-pattern>/index.php/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.php</welcome-file>
    </welcome-file-list>
</web-app>

这可能是我的php-cgi-fix文件,当我打开它时,我在终端收到了Followig文本:

$/usr/local/bin/php-cgi-fix ; exit;
/usr/local/bin/php-cgi-fix: line 3: /usr/bin/php-cgi: No such file or directory
logout

不应是/usr/local/php-cgi吗?好的,我现在尝试了一下,但是启动服务器时仍然得到了相同的效果.

(我真的也不喜欢使用Maven!)

解决方法:

您几乎肯定不想遵循这些说明-它们适用于非常古老的Jetty 5.

尝试遵循以下两组说明之一

> http://blog.fedecarg.com/2009/01/04/running-quercus-in-jetty-web-server/
> http://www.owengriffin.com/posts/2010/04/22/Writing_PHP_applications_with_Maven_and_Jetty.html

它们采用了截然不同的方法,因此您需要确定要采取的方式.

第一个使用Quercus,它是用Java编写的PHP的实现.
第二个使用CGI运行标准的PHP实现.

汇报您遇到的任何具体问题.

上一篇:java-在码头使用NIO vs BIO的优势?


下一篇:Servlet容器:Jetty和tomcat的比较