找不到请求的php资源

时间:2018-07-10 10:35:16

标签: php jquery ajax datatable liferay

我在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);

2 个答案:

答案 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。这可能是因为我没有注意或不在那里。但是,正如我打开这个答案一样,我不希望它得到广泛使用。甚至:我希望它不会被使用。