在本地主机,但服务器返回工作“无法打开流:没有这样的文件或目录”
在我的本地机器上的脚本工作正常,但是当我把它放在服务器上,我得到:在本地主机,但服务器返回工作“无法打开流:没有这样的文件或目录”
应用/挂钩/zend.php
[9]:require_once(装载机/ Autoloader.php) [function.require一次]:未能 打开流:没有这样的文件或目录
堆栈跟踪
应用/钩/ zend.php [9]: require_once()
系统/核心/ Kohana.php [199]: 包括( 应用/钩/ zend.php)
系统/芯/Bootstrap.php [37]: 的Kohana ::设置()
的index.php [106]: 要求(系统/核心/ bootstrap.php中)
我试图加载Zend的进入Kohana 2.3。这里的zend.php
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* zend.php
*/
ini_set('include_path', ini_get('include_path').
PATH_SEPARATOR.SYSPATH.'vendor/');
ini_set('include_path', ini_get('include_path').
PATH_SEPARATOR.SYSPATH.'vendor/Zend/');
require_once 'Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
?>
我已经难倒这个约2天,我已经跟着很多很多不同的教程,做它的不同的路线。所以任何方向都会很棒。目前我的文件结构和设置matches this
这个屡试不爽对我来说:
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/Loader/Autoloader.php'); ?>
Bam - 它就是这样。它打破了我的本地服务器,但我觉得我可以补丁。到目前为止,这工作得很好......我会看看是否有任何副作用。 – bradenkeith 2010-08-30 19:30:33
如果路径设置错误require_once会通过一个致命错误。尝试在工作页面上回显文档根目录以确保它位于您认为的位置。有时它是不合适的。 – 2010-08-30 19:52:54
这个怎么样?
if ($path = Kohana::find_file('vendors', 'Zend/library/Zend/Loader'))
{
ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.dirname(dirname($path)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
}
ini_set是我遇到问题的地方。这只是写作我的源代码的一种不同方式。感谢您的回应。 – bradenkeith 2010-08-30 19:32:11
装载机/ Autoloader.php没有在任何目录被人发现在include路径INI指令。 如果你做了一个“echo ini_get('include_path');”,它看起来像什么?你的Loader /目录在哪里? – 2010-08-30 17:25:24
。/ usr/share/pear1是ini_set之后的内容,与ini_set之前没有什么不同(因为它在localhost上发生更改)。那么从测试中得到的是我的服务器不支持ini_set? – bradenkeith 2010-08-30 17:32:40
这听起来像你的包含路径被覆盖,这将解释你为什么不能在文件上调用require_once。我建议的下一步就是从最早的脚本入口点开始回调ini_get..'调用,并将其继续移动,直到您可以识别出事情将发生错误的地方。 – 2010-08-30 17:42:22