我在life ray中有一个用于ajax的php文件
<?php
//connect to the mysql
$db = @mysql_connect('127.0.0.1', 'root', 'root') or die("Could not connect database");
@mysql_select_db('liferaydb', $db) or die("Could not select database");
//database query
$sql = @mysql_query("select name, status from gb_guestbook");
$rows = array();
while($r = mysql_fetch_assoc($sql)) {
$rows[] = $r;
}
//echo result as json
echo json_encode($rows);
?>
但是,当我将文件放在\ tomcat-8.0.32 \ webapps \ ROOT下并尝试转到该URL:http://localhost:8080/server_processing.php时,它说找不到所需的资源。.
但是,当我在启动tomcat服务器后将index.jsp放在同一目录中时,可以在本地访问它。请告知。
这是我的ajax代码:
$(document).ready(function() {
$("#ajaxButton").click(function() {
$.ajax({
type: "Post",
url: "\\server_processing.php",
success: function(data) {
var obj = $.parseJSON(data);
var result = "<ul>"
$.each(obj, function() {
result = result + "<li>Name : " + this['name'] + " , Status : " + this['status'] + "</li>";
});
result = result + "</ul>"
$("#result").html(result);
答案 0 :(得分:0)
我不认为您的liferay Tomcat服务器可以开箱即可托管php文件。 但是liferay可以在portlet中托管php文件。 sample-php-portlet提供了一个示例php portlet。 另外,您也可以配置您的tomcat来提供php文件:tomcat/UsingPhp或关于stackoverflow run-a-php-app-using-tomcat
的讨论答案 1 :(得分:0)
除了古老的php示例portlet(在安德烈·阿尔伯特的答案中提到)之外,我从未在portlet中看到过PHP。获得良好答案的机会非常低。我假设没有人在编写Portlet的上下文中使用php。
将PHP文件直接嵌入到webapps / ROOT中的方式可以安全地绕过每个门户基础结构,例如甚至都不作为portlet来工作。这纯粹是将Tomcat用作PHP服务器,并要求适当地使Tomcat处理PHP文件。恕我直言,这会禁用您从门户网站获得的所有基础架构(身份管理,互操作性,组合不同的应用程序),而这些基础架构是您不应采用的。
关于Liferay 7上的PHP Portlet:我什至还没有看到示例Portlet。这可能是因为我没有注意或不在那里。但是,正如我打开这个答案一样,我不希望它得到广泛使用。甚至:我希望它不会被使用。