Resin支持PHP配置

来源:互联网 发布:java awt swing 编辑:程序博客网 时间:2024/04/29 15:30
 

resin在3.0.x后几个版本里加入了对php的支持。本来是一直不以为然的,感觉也就是做了个解释器么。在实际使用中能起什么作用。今天上官 网,本来是想看看有什么新版本。发现官方网站上竟用Resin/Quercus(Resin的php servlet),和apache/mod php的性能对比。各项指数都有几倍的相差,特别是对于drupal的测试,即使再加了ea的情况下,也只算个平手。虽然也有人质疑这个结果,但对我来说 只要只要resin的php支持还是不错的就行。

特别的,Resin的官方网似乎也开始使用drupal的一些部分,至少forum是用drupal的模块了。drupal在IT届被接纳的范围越 来越广了,虽然国内也只是圈内人才真正知道这个系统的强大。

目前这个网站的系统还在等待drupal.4.7.0进入稳定期,再加上最近公司机构调整,也实在没时间进行微调。好多外嵌模块都没有部署。就先这 么将就着用一段时间吧。毕竟文字是能流传最久的东西。

最近resin从3.0.17版本的时候利用quercus包开始支持PHP语言,quercus完全是用java写的一套PHP解析工具,用 它来做PHP解析不象传统的apache+php,apache是动态解析,就跟解析javascript一样,不会预先编译,也就是说在性能上会有点差 别,而基于Resin的PHP则就象JSP一样,会预先把PHP文件编译成.java文件,然后再执行,据说速度是apache的7倍,然而这个速度对我 们这些JAVA开发人员并不太重要,只要不和apache的php相差不太远就行,必竟可以直接在resin下就能轻松使用PHP,拿PHP和JSP混合 使用将非常方便,而且最新的resin3.0.21已经支持PHP5,真是不错,昨天用resin3.0.21配置了个phpbb论坛,觉得还不错,运行 速度也相当可观,只是第一次使用的时候速度会有点慢,因为要象JSP一样先编译,第二次后就比较快了!使用方法很简单:
在原PHP工程下建一个WEB-INF目录,在这个目录下建一个resin-web.xml文件,用来支持PHP:
<web-app xmlns="http://caucho.com/ns/resin"><servlet servlet-name="resin-php"servlet-class="com.caucho.quercus.servlet.QuercusServlet"/><servlet-mapping url-pattern="*.php" servlet-name="resin-php"/></web-app>
这样就可以了!省去了配置apache的麻烦!
 
resin 3.0以后的版本终于支持PHP了

建.../ROOT/WEB-INF/resin-web.xml内容为:
<web-app xmlns="http://caucho.com/ns/resin">
  <servlet servlet-name="resin-php" servlet-class="com.caucho.quercus.servlet.QuercusServlet"/>
  <servlet-mapping url-pattern="*.php" servlet-name="resin-php"/>   
</web-app>
或简写成:
<web-app xmlns="http://caucho.com/ns/resin">
   <servlet-mapping url-pattern="*.php" servlet-class="com.caucho.quercus.servlet.QuercusServlet"/>
</web-app>

 

创建.../ROOT/helloworld.php文件:
<?php
   echo "Hello World";
?>


浏览器地址栏输入http://localhost/ROOT/helloworld.php显示:
Hello World

 

创建.../ROOT/phpinfo.php文件:
<?php
   echo phpinfo();
?>


浏览器地址栏输入http://localhost/ROOT/phpinfo.php显示:
Quercus
PHP Version => 5.0.4
System => Windows XP 5.1 x86
Build Date => 20061113T093238
Configure Command => n/a
Server API => CGI
Virtual Directory Support => disabled
Configuration File (php.ini) Path => WEB-INF/php.ini
PHP API => 20031224
PHP Extension => 20041030
Debug Build => no
Thread Safety => enabled
Registered PHP Streams => php, file, http, https

 

官网技术文档:http://www.caucho.com/resin-3.0/quercus/tutorial/hello/index.xtp

 

*常见问题:
java.io.CharConversionException: illegal utf8 encoding at ......
原因:resin只识别文件编码为utf-8的php文件,大多时候php文件编码为ANSI则会产生以上错误
解决:把php文件重新保存,编码改为utf-8即可(用记事本另存为时可以选择最下面的编码)

 
 
原创粉丝点击