【问题标题】:Php: include files localhost and server: different pathsphp:包含文件本地主机和服务器:不同的路径
【发布时间】:2011-10-23 07:10:41
【问题描述】:

让我们想象一下这种情况:你的开发者目录是这样的:

  • 项目A
  • 项目B
  • 项目C
  • 常见项目

“通用项”是在您的项目中常用的通用文件、类、函数。所以在项目“X”中:

require_once '../commonitems/mysqlDate.php';

等等。公共项目不能多次复制到每个项目。 但是当您需要将所有这些上传到目录时,就不能这样了。远程网站结构是:

  • CSS
  • js
  • 设计
  • 常见
  • 代码
    • 代码/通用

所以没有外部“公共项目”目录。如何说“优雅”的方式来包含本地主机和远程站点上不同的文件?我应该设置“if SERVERNAME == localhost then include X else include Y”看起来很傻:P

提前感谢

【问题讨论】:

  • 为什么不能将公共文件复制到每个目录?您应该将所有文件包含在上传以及公共目录中,因此所有相对路径包含应该在 localhost 和 web 服务器上都可以正常工作。
  • 你的开发环境应该尽可能地镜像生产环境,尤其是涉及到目录结构的时候。但是,如果不能,请考虑将 prod/dev 'common' 目录添加到 PHP 的包含路径中。那会让你做一个简单的include('somefile'),PHP 会负责实际定位它。只要包含路径的结构使得include() 指令无论环境如何都能正常工作,那么您应该“没问题”。

标签: php path include organization


【解决方案1】:

使用

require_once 'commonitems/mysqlDate.php';

并将 PHP include_path 设置为您开发环境中的正确目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多