7

我目前正在开发一个使用 Yii 框架的 PHP Web 应用程序。

由于我想阻止从 Web 浏览器直接访问 Yii 所需的某些文件,我将框架和受保护的文件夹都移到了 htdocs 文件夹之外。

结果,我最终得到了以下文件夹设置:

/apache22/htdocs

/apache22/htdocs/myproject/index.php -- Yii 引导文件
/apache22/htdocs/myproject/css
/apache22/htdocs/myproject/js
/apache22/htdocs/myproject/images

/apache22/vendor/yii-1.1.10 -- 文档根目录外的 Yii 框架文件夹

/apache22/htdocs-private/myproject/protected
/apache22/htdocs-private/myproject/runtime

如您所见,只有引导文件和其他一些必需的 css、js 和图像文件可以直接从 Web 浏览器访问。所有其他文件,例如 Yii 核心框架和 Yii 在受保护和运行时文件夹中生成的特定应用程序私有文件都位于我的应用程序 Web 根目录之外。

虽然按照 Yii 框架的建议,这种设置很好且安全,但是当将它们全部放在 Netbeans 中时,我无法进行这种分离。似乎 Netbeans 不允许我将同一项目中的文件放在我的网络服务器的不同文件夹级别中。

我想知道唯一的解决方案是否是创建单独的 netbeans 项目:一个用于公共网站部分,另一个用于私有网站部分。

有什么建议么 ?

此致。

4

2 回答 2

2

虽然它可能只是部分解决您的问题,但您可以为您的项目添加额外的包含路径。

假设/apache22/htdocs/myproject/是您的项目文件夹。

  • 右键单击项目名称
  • 选择“属性”
  • 选择“PHP 包含路径”
  • 单击“添加文件夹...”
  • 添加/apache22/htdocs-private/myproject/

它现在应该出现在“包含路径”下的左侧边栏中。但看起来你无法从那里提交。

于 2012-07-16T16:08:55.497 回答
0

我有这个路径结构:

NetbeansProjects/myproject/www NetbeansProyects/myproject/protected

这完全在 Web 服务器路径之外。然后,当我想测试我的代码时,我使用一个简单的 shell 脚本(它可以是 Windows 上的 .bat)将文件复制到它们需要的位置。因此,当我想测试时按 F6,一切都会被“部署”

为了能够做到这一点,您应该配置您的项目以在“运行配置”上执行您的“部署脚本”。这是我的,我相信你可以将它改编为 Windows:

运行方式:脚本(在命令行中运行)

PHP 解释器: /bin/bash

索引文件: up_sync.sh

工作目录: /home/user/NetbeansProjects/myproject/

up_sync.sh 文件将是您的 .bat 文件,它将目录复制到各自的位置。

于 2012-07-27T13:42:24.637 回答