如何使用 AWS Elastic Beanstalk 在 URL 中运行带有参数的 PHP 脚本?

Posted

技术标签:

【中文标题】如何使用 AWS Elastic Beanstalk 在 URL 中运行带有参数的 PHP 脚本?【英文标题】:How Do I Run PHP Script with parameters in URL with AWS Elastic Beanstalk? 【发布时间】:2014-12-02 00:43:28 【问题描述】:

我是一个开发新手,我正在尝试弄清楚如何使用 AWS Elastic beanstalk 运行我自己的基本 php。我按照教程here 进行操作,并且能够成功部署和运行提供的 php-secondsample 脚本。但是,当我使用自己的脚本创建新应用程序时,页面返回空白。我正在传递 URL“http://myenvironment.elasticbeanstalk.com/myfunction.php?action=test”任何帮助将不胜感激。

这是我的脚本 index.php

 <?php


    $action = $_GET['action'];
    if($action == "") $action = $_REQUEST['action'];
    $type = $_GET['type'];
    myconnect();

    if($action == 'test')
      echo "Success!";
    

     function myconnect()


     define('DB_SERVER', 'redacted');
     define('DB_USERNAME', 'redacted');
     define('DB_PASSWORD', 'redacted');
     define('DB_DATABASE', 'redacted');

     $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
     //$database = mysql_select_db(DB_DATABASE) or die(mysql_error());


    if (!$connection)  
       echo( "<p>Unable to connect to the " . 
          "database server at this time.</p>"
     ); 
      exit(); 
     
    // Select the database 
    if (!mysql_select_db(DB_DATABASE) ) 
     echo( "<p>Unable to locate the medical " . 
          "database at this time.</p>" ); 
      exit(); 
     
    



?>

【问题讨论】:

你在哪里定义了myconnect()函数?如果未定义,您将收到致命错误(和空白页)。 你能看看你的日志吗?您可以使用docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 获取日志 @MikeBrant 请检查我的编辑。我添加了我的 myconnect 功能。谢谢 @DollaBill 你还能提供一些日志,以便我们查看失败的原因吗? 【参考方案1】:

你想用下面的代码做什么?

1) if($action == "") $action = $_REQUEST['action'];
2) $type = $_GET['type'];

如果您此时仅使用 GET,则可以简单地避免使用 1。 $_REQUEST Super global 将返回一个关联数组,默认情况下包含 $_GET、$_POST 和 $_COOKIE 的内容。

如果你将 'type' 作为可选的 GET 参数传递,你可以使用类似这样的参数

$type = isset($_GET['type']) ? $_GET['type'] : '';

您的其他代码似乎没问题。

【讨论】:

以上是关于如何使用 AWS Elastic Beanstalk 在 URL 中运行带有参数的 PHP 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道我是不是需要使用 AWS Elasticache 和 AWS Elastic Load Balancing?

如何使用 aws cli 在 Elastic Beanstalk 上上传和部署?

如何在 AWS Elastic Beanstalk 上强制使用 HTTPS

如何在 AWS Elastic Beanstalk 上设置 HTTPS

如何在 AWS Elastic Beanstalk 上设置 HTTPS

如何在 .ebextensions 配置中使用条件(AWS Elastic Beanstalk)