使AWS EC2中的文件夹可以从公共访问

时间:2014-09-06 09:21:55

标签: php amazon-web-services amazon-ec2

我是使用AWS EC2的新手。我在AWS上部署了一些脚本。

如果我pwd,我会看到类似的内容:

/home/bitnami/folder/script.php

所以,如果我从浏览器打电话:

<publicDNS>/folder/script.php

我得到:The requested url cannot be found on the server.

如何从外部访问?我看到AWS有一个我期望的文件htdocs,如果我把它放在那里它将是可见的但我不想在那里传输我的所有文件夹。你能帮帮我吗?

编辑:如果我把文件夹放在htdocs中,我可以调用它。这是否意味着我的所有项目都应放在htdocs中?

1 个答案:

答案 0 :(得分:1)

您需要查看应用程序的文档根路径。

您可以从phpinfo函数检查文档根路径。

<?php phpinfo();?>

在浏览器中运行并找到变量'DOCUMENT_ROOT'。 如果它是一台ubuntu机器,你会看到类似下面的路径,它可能与你不同。

/var/www/html/yourappfolder/.

您放入文档根目录的任何文件/文件夹,您可以使用此类网址进行访问

<publicDNS>/yourFolder/yourFile.php

但是在你的情况下你有'/ home / bitnami / folder /'文件夹里面的文件,它可能不是你的应用程序的文档根目录。在这种情况下,您可以将所有这些文件传输到文档根文件夹

您可以在应用程序中创建一个php文件(例如 - getFile.php)并通过此文件提供所有外部文件,请参阅下面的代码。

/*File name: getFile.php */  
 $fileName = $_GET['filename'];
 $cwd = getcwd(); // get the current working directory
 chdir ("/home/bitnami/folder/"); // Change directory to /home/bitnami/folder/
 require_once($fileName); // include the required file
 chdir ($cwd); // Change the directory to its original location

你的网址就像这样

<publicDNS>/getFile.php?filename=script.php