在php中需要一次问题

Posted

技术标签:

【中文标题】在php中需要一次问题【英文标题】:require once issue in php 【发布时间】:2011-12-13 20:41:35 【问题描述】:

我正在使用 xampp 开发我的 php 应用程序。几天前我安装了 pear ti 使用 DB 抽象。之后,我不能使用父目录中的包含文件,但是我可以从子目录中包含。

这是我检查包含路径时看到的内容

.;E:\xampp\php\PEAR

我尝试使用 set_include_path 将包含路径更改为存储文件的位置,然后应用程序无法加载 Pear 文件。

任何帮助表示赞赏。

【问题讨论】:

你是如何包含文件的? @deceze 我试图包含的文件位于 /htdocs/sms/application/configs/application.php 中,我从 /htdocs/sms/cce_desc/index.php 和代码是 require_once "../application/configs/application.php"; 【参考方案1】:

如果你真的想使用 set_include_path,你可以这样做:

set_include_path(get_include_path().PATH_SEPARATOR.'path_to_parent');

使用预定义的常量 DIRECTORY_SEPARATOR 以防您的代码移动到使用不同目录分隔符的服务器。

就个人而言,如果我需要专门为特定站点设置路径,我会尝试在站点的 Web 根目录中的 .htaccess 文件中设置路径。它提供了一个更明显的位置来查找站点范围的配置,例如 include_path。这是您将在 .htaccess 文件中放入的行:

php_value include_path ".;E:\xampp\php\PEAR;path_to_parent"

或在 Linux 服务器上:

php_value include_path ".:some_path/PEAR:path_to_parent"

【讨论】:

感谢您的回复,在我的根目录中创建了一个 .htaccess 文件。这是我的父目录路径 "E:\xampp\htdocs\sms" 所以我设置一个值如下 php_value include_path ".;E:\xampp\php\PEAR;E:\xampp\htdocs\sms" 。但它没有用。我将值更改为 include_path "E:\xampp\htdocs\sms" 并且它正在工作。但我需要这两个值。【参考方案2】:

添加到包含路径堆栈的最简单方法是...

set_include_path(implode(PATH_SEPARATOR, array(
    'path/to/app/includes',
    'path/to/any/other/includes',
    get_include_path()
)));

【讨论】:

感谢您的回复,我得到了这个(include_path='E:\xampp\htdocs\sms;.;E:\xampp\php\PEAR')但仍然未能包含文件跨度>

以上是关于在php中需要一次问题的主要内容,如果未能解决你的问题,请参考以下文章

Include_Path,需要一次,使用 Zend 的 PHP 问题

需要一次停止脚本

Joomla 组件:在视图中包含/需要 php

PHP wordpress 中的一次查询中的双重 MySQL 查询

我需要使用 PHP 从 html/php 文件中删除动态信息

一次网站问题解决