如何使用Netbeans将yii保护文件夹置于htdocs之外

时间:2012-07-06 00:40:44

标签: php netbeans yii document-root htdocs

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

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

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

  

/ apache22 / htdocs中

     

/apache22/htdocs/myproject/index.php - Yii bootstrap文件
  / apache22 / htdocs / myproject / css
/ apache22 / htdocs / myproject / js
  / apache22 / htdocs中/ myproject的/图像

     

/apache22/vendor/yii-1.1.10 - Yii框架文件夹外部文件   root

/ apache22 / htdocs-private / myproject / protected
  / apache22 / htdocs中-私人/ myproject的/运行

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

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

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

有什么建议吗?

最诚挚的问候。

2 个答案:

答案 0 :(得分:2)

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

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

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

它现在应显示在" Include Path"下的左侧边栏中。但看起来你似乎无法从那里做出承诺。

答案 1 :(得分:0)

我有这种路径结构:

的NetBeansProjects / myproject的/万维网 NetbeansProyects / myproject的/受保护的

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

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

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

PHP解释器: / bin / bash

索引文件: up_sync.sh

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

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