Google App Engine因MySQL而失败?

时间:2014-12-12 22:51:15

标签: google-app-engine

我在我的linux服务器上设置了Google App Engine。因此,当我运行App Engine和我的应用程序时,可通过以下方式访问: http://website.com:8080

在应用程序的“主页”中,我有一些简单的PHP语法:

require "config.php";

在config.php中,我有我的MySQL连接代码:

<?php
    DEFINE ('DB_USER', 'mysqlusername');
    DEFINE ('DB_PASSWORD', 'mysqlpassword');
    DEFINE ('DB_HOST', 'mysqlserver');
    DEFINE ('DB_NAME', 'database');

    $dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
    OR die('Cound not connect to MYSQL' .
        mysqli_connect_error());

    session_start();
?>

由于某种原因,当我启动应用程序时,我有一个完全空白的页面,并且在我的服务器的日志中,它说:

  

错误:root:php failure(255)with:stdout:X-Powered-By:PHP / 5.4.25   内容类型:text / html

     

stderr的:

     

INFO 2014-12-12 22:50:04,909 module.py:718]默认:“GET /   HTTP / 1.1“500 -

1 个答案:

答案 0 :(得分:0)

有两个问题:您在Linux服务器上运行App Engine devserver并将其称为App Engine,并且您尝试在除80或443之外的任何设备上建立端口连接(MySQL传统上选择3606),这是只允许端口。 App Engine架构(部署代码的地方)目前不支持此功能,您应该查看CloudSQL。

为了模拟App Engine实例所在的部署环境VM沙箱中的各种限制和属性,App Engine devserver也不允许80或443以外的端口上的连接。我希望这已经为您清除了一些混淆并且您将研究如何在应用引擎架构上实际部署您的应用。您可以随意在(V?)PS上运行任何您喜欢的代码,但App Engine不仅仅是devserver,您应该考虑正确使用它以充分利用它。 Devserver不是为制作而制作的。