require_once()[function.require]:需要打开失败

时间:2014-04-26 17:47:01

标签: php codeigniter require-once

我已经为这个搜索了一个解决方案,但似乎没有什么对我有用,这笔交易是因为我已经在同一个库(PHPExcel)的其他项目中使用require_once并且工作得非常好,但现在我不知道出了什么问题。

我在两个项目中都使用CodeIgniter,但我无法弄清楚它是否存在PHP版本问题或者我是否做错了。 所以,这是代码:

$this->load->library('PHPExcel');
require_once (base_url().'applications/proyect/libraries/PHPExcel/Cell/AdvancedValueBinder.php');

并显示:

A PHP Error was encountered

Severity: Warning

Message: Users::require_once(http://localhost/my_proyect/applications/proyect/libraries/PHPExcel/Cell/AdvancedValueBinder.php) [function.Usuarios-require-once]: failed to open stream: 
An error occurred during the connection attempt because the connected party did not properly respond after a period of time, or there was an error in the connection established because connected host has failed to respond

Fatal error: Users::require_once() [function.require]: 
Failed opening required 'http://localhost/my_proyect/applications/proyect/libraries/PHPExcel/Cell/AdvancedValueBinder.php' (include_path='.;C:\php5\pear'

我不确定C:\php5\pear的内容是什么,但我无法处理此require_once问题。

3 个答案:

答案 0 :(得分:0)

您正在尝试通过HTTP连接require文件,并且连接失败。您应尽可能使用磁盘路径require文件。

答案 1 :(得分:0)

你不能使用

base_url();

您可以使用

APPPATH

它是常数

   require_once(APPPATH.'applications/proyect/libraries/PHPExcel/Cell/AdvancedValueBinder.php');

答案 2 :(得分:0)

尝试以正确的方式使用codeigniter。

建议:由于它是一个图书馆,因此您不必精确地包含它。将库文件移动到applications/libraries目录和 -


1)您可以在config/autoload.php

中自动加载
$autoload['libraries'] = array('my_library');


2)或者您可以专门加载到您需要的控制器

<?php
class Something extends MY_Controller
{
    public function __construct()
   {
        parent::__construct();
        $this->load->library('my_library');
   }

   public function my_function()
   {
        ...
   }
}