php - jetty 服务器运行php代码

标签 php jetty

我想配置让jetty运行PHP文件,但是至今没有成功。我在我的 Eclipse IDE 中安装了 Jetty WTP 工具。

当我启动 Jetty 服务器时。我遇到了异常:java.lang.ClassNotFoundException org.mortbay.servlet.CGI: org.mortbay.servlet.CGIjavax.servlet.UnavailableException: org.mortbay.servlet.CGI。我在 WebContent 文件夹下放了一个简单的 php 文件 (index.php)。我也下载了这个library并将其添加到类路径(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 文件,当我打开它时,我在终端上看到了以下文本:

$ /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。

尝试按照这两组说明中的一组进行操作

它们采用截然不同的方法,因此您需要决定采用哪种方法。

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

报告您遇到的任何具体问题。

关于php - jetty 服务器运行php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107684/

相关文章:

java - 如何从 Jetty 处理程序转发到另一个 URL?

java - 小服务程序测试

php - 使我的上传文件夹不可执行

php - mysql 查询执行成功但行没有变化

php - Composer 在自定义路径中安装包或模块?

php - 没有重复记录的内部连接

javascript - 为教育形式创建可解锁的内容

docker - 没有 SSL 的 Shibboleth

java - 在 Spring Boot 中使用 Jetty 接受代理协议(protocol) V2 流量

jetty - 如何停止 jetty