docker服务器执行php

我想configuration,以便docker运行PHP文件,但到目前为止还没有成功。 我的Eclipse IDE中安装了Jetty WTP工具。

当我启动Jetty服务器。 我得到的exception: java.lang.ClassNotFoundException org.mortbay.servlet.CGI:org.mortbay.servlet.CGIjavax.servlet.UnavailableException:org.mortbay.servlet.CGI 。 我把一个简单的PHP文件(index.php)放在我的WebContent文件夹下。 我也下载了这个库,并将其添加到类path(Eclipse:构buildpath并添加外部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吗? 好吧,我现在试过了,但是当我启动服务器时,仍然得到了相同的ecxeptions。

(我真的不喜欢用maven了

安装php-cgi(包含/ usr / bin / php-cgi)。

Ubuntu的/ Debian的:

 sudo apt-get install php5-cgi 

CentOS / Red Hat / Fedora:

 yum install php-cli 

在Mac OS上,尝试创build符号链接:

 sudo ln -s /usr/bin/php /usr/bin/php-cgi 

如果你的php-cgi-fix脚本来自Jetty和PHP,那么它不再是必需的,你可以直接调用php-cgi。

你问这个问题22天后,如果你仍然不在那里,那么我build议先让它在Eclipse之外运行。 启用debugging并在包含“CGI”的日志中查找行,并将init_param“ignoreExitState”设置为“true”。

关于Jetty和PHP的问题每年在邮件列表上出现一次,所以我的猜测是很less有人这样做。 您可能是第一个在具有特定版本的Jetty的Mac上执行此操作。