php 全局 路径,PHP问题包括全局路径
我一直在面对PHP包含的问题.基于互联网上的阅读,我一直在使用相对路径来灵活处理.
只要我直接在每个文件中引用路径,例如
require_once '../includes/connection.php'; // it works fine.
当我使用全局常量引用此路径时,问题就开始了
require_once getDocumentRoot() . '/includes/connection.php',
正如它说以下错误.
Warning: require_once(/phpPractices/myApp/includes/connection.php): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/phpPractices/myApp/dir1/list.php on line 19".
我在SO中阅读了这么多线程,并遵循以下建议
>使用文件的基本目录将常量定义为DOCUMENT_ROOT. (就像在SO中这样说-> https://stackoverflow.com/a/22912261/1001242)
>还尝试了各种选项,例如DIR,basedir(FILE)等,
>通过set_include_path()方法将我的应用程序目录(/ phpPractices / myApp)添加到include_path(如PHP, How to set include path和http://php.net/manual/en/function.set-include-path.php中所述)
我的函数getDocumentRoot()定义如下.
function getDocumentRoot()
{
$loc_pos_2 = strpos($_SERVER['REQUEST_URI'], "/", 1);
$baseDir = substr($_SERVER['REQUEST_URI'], 0, $loc_pos_2);
$baseDir = $baseDir . "/myApp";
return $baseDir;
}
注意:我可以看到该文件实际存在.但是,file_exists()方法返回false,我不明白为什么.可能是引起关注的原因吗?
仅供参考,我的目录结构如下.
htdocs
phpPractices
myApp --> Web App Root
includes
connection.php
inc
header.php
footer.php
global.php -- contains getDocumentRoot() method and included in header.php
index.php
dir1 --> my module specific dir
list.php --> which needs 'connection.php'
我的list.php包含以下内容
include_once '../inc/header.php'; // it works fine as I do relative to the path
//require_once '../includes/connection.php'; //works fine
require_once getDocumentRoot() . '/includes/connection.php'; // FAILS! :(
?>
但是没有帮助!任何摆脱这个问题的建议将不胜感激.
提前致谢!
解
感谢所有答复的人们.我有一个新的解决方法可以帮助我:)
1. For all the menu items with links:
I use my getDocumentRoot() method which provides me -
'/phpPractices/myApp/' --> which is relative to my Web App.
2. For all the include, require functions :
I defined a different constant as below & as per this link:
https://stackoverflow.com/a/1488293/1001242
define('APP_BASE_PATH', $_SERVER['DOCUMENT_ROOT'] . '/myApp');
which returns me the complete absolute path which works fine for file inclusion.
我一直在干预这两者.对于文件包含,getDocumentRoot()的“ / phpPractices / myApp”输出失败,因为它试图在根目录(“ / phpPractices /”)中找到名为“ phpPractices”的目录,这是根本原因.因此,我将它们分为两部分,现在工作正常.
感谢大家.非常感激.
解决方法:
更新您的getDocumentRoot()函数以返回绝对路径
function getDocumentRoot()
{
return dirname(__FILE__);
}
或在您的需求中使用dirname(__ FILE__)
标签:absolute-path,php,include,global
来源: https://codeday.me/bug/20191009/1877853.html
php 全局 路径,PHP问题包括全局路径相关推荐
- a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...
若步智能 移动这一简单动作,对于人类来说相当容易,但对机器人而言就变得极为复杂,说到机器人移动就不得不提到路径规划,路径规划是移动机器人导航最基本的环节,指的是 ...
- 【软件测试】单元测试的主要任务不包括全局数据结构
单元测试的主要任务不包括全局数据结构测试. 单元测试的主要任务有以下内容: 模块接口测试 模块局部数据结构测试 模块边界条件测试 模块中所有独立的执行路径测试 模块的所有错误处理路径测试
- 编写文件搜索小程序:1. 输入绝对路径以及搜索关键字,2. 搜索指定路径下(包括子文件夹)中名称包含关键字的所有文件并打印出,3. 将当前操作记录日志
package com.homework;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio ...
- 环境变量,include搜索路径,lib库搜索路径
环境变量 系统环境变量 我们知道,我们经常要设置一些环境变量,系统环境变量我们非常容易理解.其实我们在windows中经常容易接触.其实环境变量是一个非常广泛的一个概念,它与web应用程序中的web. ...
- 关于环境变量 C++ include搜索路径,lib库搜索路径
OneCoder在学习C++的过程中,在研究Windows下Eclipse for C/C++开发环境的过程中遇到的一些关于C++环境变量的一些问题.在网上搜索一番,得到下面的文章,与大家分享. 转自 ...
- VS 配置外部DLL的引用路径【可执行文件的环境路径】
VS 配置外部DLL的引用路径[可执行文件的环境路径] 右键项目,属性->配置属性->调试->环境,在这里写入可执行文件运行时的环境路径,格式为:PATH=ABC,如PATH=$(S ...
- nuxt 全局css_解决nuxt 自定义全局方法,全局属性,全局变量的问题
注意 ,这个 在 asyncData 还是不能用的 ,在mounted等其他生命周期里面可以, asyncData 里因为获取不到this他在组件初始化前执行的,如果找到方法我会继续更新到下一篇博客 ...
- linux多路径策略配置,linux 多路径配置
首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...
- java 取上下文路径_取Servlet上下文路径,取WebContent的路径
---------------------取Servlet上下文路径,取WebContent的路径 -------------------------------- 1.String path = r ...
最新文章
- Java微信对账接口返回值解析
- 深度学习在图像超分辨率重建中的应用
- 定价错误: 必要条件 MWST 丢失
- PAT1045 快速排序 (25 分)【4/6通过】
- jupyter安装出现问题:安装后无法打开
- 2017百度之星程序设计大赛 - 复赛 01,03,05
- python调参工作都是干啥的_Python中Gradient Boosting Machine(GBM)调参方法详解
- C#反射——简单反射操作类的封装
- 微信小程序 高德地图知道两点求道路_微信小程序——计算2点之间的距离
- 自动打包_全自动打包机行业发展如何?全自动打包机行业发展现状分析
- 沉淀再出发:Spring的架构理解
- iOSUIImage变为NSData并进行压缩
- Android事件分发 笔记
- linux 多CPU
- [Git]git教程
- 姓舒男孩名字简单大气
- led灯条串联图_LED灯如何串联?
- 阿里巴巴服务器泡进“水里”液冷服务器技术
- crunch 不指定字典破解wpa加密
- 北京航空航天大学夏令营机试题