我想进行配置,以使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实现.
汇报您遇到的任何具体问题.