resin竟然开始支持PHP

resin竟然开始支持PHP
  真是好消息,resin开始支持PHP了,早上查资料,意外的看到了这个消息。由Resin 3.0.17开始,Resin里多了一个称为Quercus的东西,Quercus其实就是用Java实作的PHP语言模组。一直以来WEB语言都是各自为政,都有自己的WEB服务器。常常可以看到大家整合这个,整合那个的文章出现。总是想为什么不能由一种WEB服务器提供全面支持呢。真是累人啊,一个环境配置就要消耗大家很多的学习时间。
 
 
  现在好了,终于PHP可以与JAVA共舞了。感觉很爽!
 
  按查到的资料配置了一下resin,不错PHP还真是可以运行。
 
在Resin里使用PHP的设定很简单,就是设定一个QuercusServlet,再设一个Servlet-mapping以将*.php交给QuercusServlet处理即可。设定范例如下:
  1. 在webapps/ROOT/WEB-INF目录里增加web.xml档案,内容为:
    <web-app xmlns="http://caucho.com/ns/resin">
      <servlet-mapping url-pattern="*.php"
        servlet-class="com.caucho.quercus.servlet.QuercusServlet">
      </servlet-mapping>
    </web-app>
  2. 在webapps/ROOT里新增HelloWorld.php档案,内容为:
    <?php
      echo "Hello World";
    ?>
  3. 在浏览器网址里以 http://localhost:8080/HelloWorld.php 测试

看上去很简单吧。不过,经过本人测试,发现有字符集问题。当在resin下运行的PHP是中文的时候会报如下错语信息:

500 Servlet Exception

java.io.CharConversionException: illegal utf8 encoding at (178)
	at com.caucho.vfs.i18n.UTF8Reader.read(UTF8Reader.java:152)
	at com.caucho.vfs.ReadStream.readChar(ReadStream.java:451)
	at com.caucho.vfs.ReadStream$StreamReader.read(ReadStream.java:1107)
	at com.caucho.quercus.parser.QuercusParser.read(QuercusParser.java:4208)
	at com.caucho.quercus.parser.QuercusParser.parseToken(QuercusParser.java:3278)
	at com.caucho.quercus.parser.QuercusParser.parseStatementList(QuercusParser.java:447)
	at com.caucho.quercus.parser.QuercusParser.parseStatement(QuercusParser.java:596)
	at com.caucho.quercus.parser.QuercusParser.parseIf(QuercusParser.java:901)
	at com.caucho.quercus.parser.QuercusParser.parseStatementList(QuercusParser.java:486)
	at com.caucho.quercus.parser.QuercusParser.parseTop(QuercusParser.java:431)
	at com.caucho.quercus.parser.QuercusParser.parse(QuercusParser.java:355)
	at com.caucho.quercus.parser.QuercusParser.parse(QuercusParser.java:259)
	at com.caucho.quercus.page.PageManager.parse(PageManager.java:185)
	at com.caucho.quercus.Quercus.parse(Quercus.java:358)
	at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:187)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
	at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
	at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
	at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
	at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:507)
	at com.caucho.util.ThreadPool.run(ThreadPool.java:433)
	at java.lang.Thread.run(Thread.java:595)


设置了一下web.xml也没有解决这个问题。呵,只是初步试一下,先能支持了PHP就好,其它的问题再慢慢研究吧。想一想在java中字符集的问题也一直是很多人头痛的事,PHP在java环境运行当然也会存在这个问题。并不奇怪。要怪,就怪所有这些好的语言都出自英文国家的程序员之手吧。各位国人高手们,革命尚未成功,同志仍需努力啊。呵呵,,共勉共勉!!

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值