文档根目录内部或外部的 PHP 库?

标签 php zend-framework

我正在编写一个基于 zend 框架的 PHP 库。我的几个 Web 项目使用了我的库。我不确定我应该把我的图书馆放在哪里。将它放在单个项目的文档根目录之外似乎很有意义,因此我不必在每个单独的项目中维护该库。我当前的设置如下所示:

/var/www/vhosts/project1/
/var/www/vhosts/project2/
/var/www/vhosts/libraries/zend-framework/zend-framework-1.11.0/...
/var/www/vhosts/libraries/my-lib/my-lib-1.0.0/...

像这样,特定版本的 zend-framework 和 my-lib 都可以在我的项目中使用。

替代设置如下所示:

/var/www/vhosts/project1/
/var/www/vhosts/project1/libraries/zend-framework/zend-framework-1.11.0/...
/var/www/vhosts/project1/libraries/my-lib/my-lib-1.0.0/...
/var/www/vhosts/project2/
/var/www/vhosts/project2/libraries/zend-framework/zend-framework-1.11.0/...
/var/www/vhosts/project2/libraries/my-lib/my-lib-1.0.0/...

第一个版本对我来说更有意义,但我不确定如果我的项目依赖于文档根文件夹之外的文件,我是否会遇到一些安全问题。此外,如果 my-lib 在项目文档根目录之外,当我尝试将 my-lib 中的 javascript 文件包含在我的项目中时,我会遇到问题。

这里的最佳实践是什么,我应该把我的库和 zend 框架放在哪里?

最佳答案

如果/var/www/vhosts/libraries 可以从外面访问,我建议你把你的库放低一层 (/var/www/libraries) 所以:

  1. 您可以与所有 PHP 应用程序共享同一个库
  2. PHP 无需调整权限即可访问它
  3. 它不能直接从前端站点访问

关于文档根目录内部或外部的 PHP 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658570/

相关文章:

php - 使用 JOIN 从 Zend_Db_Table 中删除一行

javascript - timezone.js 在 zend 框架 2 中不工作

zend-framework - ZF 2.4 文件验证器需要 False 不起作用

javascript - 提交按钮上的 AJAX 函数调用在 PHP CodeIgniter 中不起作用

php - MySQL 返回一个空结果集

php - 您首选的 php 部署策略是什么?

php - Zend Framework 1 更新操作

带有 Zend 框架的 PHPUnit

php - 将pdf文件上传到服务器并获取其url

php - Twig 包含的模板扩展了父级的 block 一次