如何使用 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