在 PHP 中访问/创建 SITE_ROOT 和 SERVER_ROOT 值的最佳方式?

2023-12-29

我需要 2 种不同的路径,一种用于包含,一种用于 js/css 等。我正在使用mod_rewrite。下面的工作正常......

目前我的所有文件都在顶部包含此内容

define('SERVER_ROOT',   'C:/wamp/www/site_folder/');
define('SITE_ROOT',     'http://localhost/site_folder/');

然后文件被这样调用:

require_once SERVER_ROOT . 'st_wd_assets/inc/func_st_wd.php';    

<link rel="stylesheet" type="text/css" href="<?php echo SITE_ROOT;?>st_pages/user_area/css/user_area.css" media="screen"/>

正如您可能看到的,每次我在本地主机和实时服务器之间移动版本时,更新每个文件的顶部将是一项繁重的工作。

定义这些 ROOT 值的最佳/标准方法是什么?

我在中看不到解决方案$_SERVER超级全球?人们通常只使用虚拟主机吗?但这样的话,是不是还需要定义 ROOT 常量呢?


是的。 人们通常只使用虚拟主机。

有几种方法。

  • 您可以使用相对路径来包含配置文件。
  • 您可以使用 $_SERVER 超全局中的 DOCUMENT_ROOT 来放置配置文件。
  • 如果可能的话,您可以使用网络服务器配置。喜欢php_value auto_prepend_file在 .htaccess 中
  • 至少你可以检测你的环境并在两个根之间进行选择,这两个根都写在顶部的条件中。
  • 是的,如果您使用 mod_rewrite - 制作一个包含所有其他文件的前端控制器,因此 - 唯一一个放置这些设置的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中访问/创建 SITE_ROOT 和 SERVER_ROOT 值的最佳方式? 的相关文章

  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 尝试使用 php 发送 POST 请求,无论我做什么,我都会收到“HTTP ERROR 500”

    为了发出 HTTP 请求 有人建议我尝试使用 PHP 并给了我一段代码 url https example com dashboard api data array to gt PHONE NUMBER from gt SENDER ID
  • PHP 无法加载动态库“php_pdo_oci.dll”

    我在 Windows 8 上运行 Apache 2 4 7 和 PHP 5 5 9 我安装了 PHPUnit 并开始弹出此警告图像 警告 是的 我在 php ini 中启用了扩展加载以及 extension dir 以更正文件夹 并且该文件
  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • 如何在多次尝试后延迟登录尝试 (PHP)

    我正在开发一个用 PHP 构建的相当大的网站 该网站可能会有很多用户 我正在寻找一种方法来保护登录屏幕免受自动尝试的影响 我已经在注册表中添加了验证码检查 但还想进一步强化网站 据我所知 StackOverflow 上也有类似的问题 而且我
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • Facebook PHP SDK - 如何获取访问令牌?

    我正在尝试从我的应用程序在用户的 Facebook 墙上发帖 用户授予应用程序在他的墙上发布的权限 并且我在数据库中有用户ID 我需要自动发送帖子 而无需用户再次登录 我的代码是 try require once dirname FILE
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用两个而不仅仅是一个

    在我的代码中我有两个数据库ABC and XYZ 我想在同一模型中使用两个数据库 而不是 phalcon 中的解决方案是什么 如何为此实现多个数据库连接 one
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for

随机推荐

  • 在 Internet Explorer 中添加事件监听器

    Internet Explorer 9 中的元素对象相当于什么 if Element prototype addEventListener Element prototype addEventListener function 它在 Int
  • 什么情况下需要调用两次GC.Collect

    我们有一个 WPF 应用程序 基于 Unity 具有 MMVVVM 模式 在应用程序生命周期中可以有多个项目生命周期 在每个项目生命周期之后我们都会进行手动 Tear Down 并尝试释放 ViewModel 的所有引用 对于 Unity
  • 写入 PIC 上的 EEPROM

    这里有PIC单片机编程器吗 我正在学习一些使用 pickit2 和它附带的 16F690 芯片的 PIC 微控制器编程 我目前正在尝试各种设施 我可以成功read如果我在 MPLAB 中设置 EEPROM vaklue 则代码中来自 EEP
  • Pushwoosh 无法在 Unity 的发布版本中工作

    我试图将 Pushwoosh 与 Unity 集成 最新版本需要我实际使用 Pro Guard 和 gradle 因为存在 multidex 错误 之后 由于 proguard 出现了重复文件错误 我通过创建 proguard user t
  • 无法弄清楚为什么模型在回发时为空?

    我是 ASP NET MVC 的新手 我正在尝试创建一个非常简单的博客类型网站作为学习一切工作原理的方法 但是 当我从评论表单发布到空模型时遇到问题 我不知道为什么 在博客文章页面上 我有一个 添加评论 链接 它调用一些 JQuery 来呈
  • 在 Qt Creator 中运行纯 C 项目

    我使用 qt Creator 创建了一个普通的 c 项目文件 gt 新文件或项目 gt 非 Qt 项目 gt 普通 C 项目 main c include
  • Maps V2 InfoWindow 中的动态内容

    我想在 Maps V2 片段中的标记上显示信息窗口 问题是 我想显示从网络动态加载的位图通用图像下载器 https github com nostra13 Android Universal Image Loader 这是我的 InfoWi
  • PHPUnit 启用颜色输出

    我正在 Windows 7 上从命令行运行 PHPUnit 我尝试通过以下方式启用颜色输出phpunit color 但它仍然显示相同 没有颜色输出 如何在 Win7 上从命令行获取 PHPUnit 的颜色输出 你将不得不使用http so
  • Aeson:派生结构的某些(但不是全部)字段

    我有一个大型结构 我需要它是 FromJSON 的实例 以便我可以将 json 数据解析到其中 我想自动派生 但单个字段需要 特别小心 因为它是 json 中的一个对象 并且我希望它是我的结构中的值的数组 如何在不编写重复所有字段的巨大 F
  • 如何从角度 6 的数组中删除重复的对象

    我正在尝试删除数组中的重复值对象 但不起作用 我认为重复函数正在起作用 但没有反映在li列表 你能找出我需要改变的地方吗 我的服务文件 addComp Names c this item push name Names componenti
  • NTFS 性能和大量文件和目录

    采用 NTFS 的 Windows 如何处理大量文件和目录 在遇到性能问题或其他问题之前 是否有关于可以放置在单个目录中的文件或目录限制的任何指导 例如 拥有一个包含 100 000 个文件夹的文件夹可以吗 以下是来自某个环境中的一些建议
  • Outlook-根据vba规则将邮件导出为文本

    我很确定以前已经这样做过 有谁知道如何将电子邮件导出到我的 C 驱动器上的文本文件中 我知道如何将电子邮件移动到 Outlook 中但在我的 C 驱动器上的其他文件夹中 Thanks 查看MailItem SaveAs方法 您指定路径和文件
  • 清单合并失败。添加并链接react-native-device-info后

    清单合并失败 属性元数据 android support VERSION value value 26 0 1 来自 com android support cardview v7 25 3 1 AndroidManifest xml 24
  • SqlRoleProvider:调用 Roles.GetRolesForUser 时出现 NullReferenceException

    设想 使用 SqlRoleProvider 对 Sql Server 2012 数据库服务器进行身份验证的 WCF 服务 WCF 托管在 IIS7 Web 服务器上 请看这个错误 System NullReferenceException
  • 将请求从一个jsp转发到另一个jsp并包含所有请求参数?

    我有这种情况 用户在浏览器中的jsp表单上输入一些内容并提交 在 servlet 中 我处理请求并向刚刚继续的客户端显示 jsp page1 按钮 现在单击 继续 我想将此请求转发到另一个 jsp page2 其中所有请求参数都出现在 pa
  • Parse.com,将用户添加到创建的角色

    我有一个云代码 它在用户注册时创建两个帐户角色 下面是方法 Parse Cloud afterSave account function request var accountName request object get name cre
  • 如何创建并行堆栈并在其上运行协程?

    我决定我应该尝试实现协程 我认为我应该这样称呼它们 以获得乐趣和利润 我希望必须使用汇编程序 如果我想让它对任何事情都有用的话 可能还需要一些 C 语言 请记住 这是出于教育目的 使用已经构建的协程库太容易了 而且真的没什么乐趣 你们知道s
  • 以编程方式重命名 Access 查询中的表

    我有一个包含数百个查询的 access 2003 数据库文件 我想根据条件重命名查询中引用的所有表 If tableNameInQuery tableName Then tableNameInQuery newTableName End I
  • 使用类构造函数操作 Java 对象引用

    这是一道我无法完成的考试题 如何打印下面的java代码false仅由 编辑内的代码MyClass构造函数 public class MyClass public MyClass public static void main String
  • 在 PHP 中访问/创建 SITE_ROOT 和 SERVER_ROOT 值的最佳方式?

    我需要 2 种不同的路径 一种用于包含 一种用于 js css 等 我正在使用mod rewrite 下面的工作正常 目前我的所有文件都在顶部包含此内容 define SERVER ROOT C wamp www site folder d