【问题标题】:Undefined variable: config. PHP error but email is sent未定义的变量:配置。 PHP 错误但已发送电子邮件
【发布时间】:2011-07-30 06:53:30
【问题描述】:

您好!

我刚刚下载了 CodeIgniter 框架的 2.0.1 版,我正在尝试编写自己的电子邮件控制器,如下所示:

<?php

class Email extends CI_Controller
{
     function __construct()     {         parent::__construct();     } 

    function index()     {   
        $this->load->library('email', $config);
        $this->email->set_newline("\r\n");

        $this->email->from('some.email@gmail.com', 'some.email.name');
        $this->email->to('some.author.email.@gmail.com');        
        $this->email->subject('This is an email test');        
        $this->email->message('It is working!');

        $path = $this->config->item('server_root');        

        $file = $path . '/attachments/readme.txt';

        $this->email->attach($file);

        if($this->email->send())         {             echo 'Email sent.';         }        
        else        {            show_error($this->email->print_debugger());        }
    }
}

如果我将浏览器指向“http://localhost/CodeIgniter/index.php/email”,我会收到此 PHP 错误消息

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: config
Filename: controllers/email.php
Line Number: 24

第 24 行指向我的控制器中的这一行代码 $this->load->library('email', $config);

尽管出现 PHP 错误,但电子邮件发送正常,带有文件附件。

如何消除这个 PHP 错误?我做错了什么?

【问题讨论】:

  • 通知只是一个信息性的“嘿,这是您可能想在某个时候查看的内容”。这不是错误或“有人给我们设置了炸弹!”。它们可以被忽略,但应该为了“完全”正确而处理。

标签: php codeigniter


【解决方案1】:

如消息所述,$config 未定义。你可以通过定义它来修复它。

$config = Array();

第 24 行之前的某个地方应该这样做

【讨论】:

  • 不客气。有时,最让我们感到困惑的是最明显的东西,没有人能幸免;)
【解决方案2】:

不,您不应该通过定义它来修复它,这是不正确的。

你需要改变

$this->load->library('email', $config);

$this->load->library('email');

该数组不存在,因为您已在 config/email.php 文件中设置了配置详细信息,因此不再需要 $config 数组。 :)

【讨论】:

  • 很好,因为我们已经在 email.php 中加载了配置详细信息,我们只需加载它即可获取电子邮件对象的访问权限
【解决方案3】:

$config = 数组(); 我像这样初始化它,而不是你的数组是空的,所以你不需要 加载库配置属性时定义数组将自动配置。无需传递 $config 变量,只需执行此操作
$this->load->library('email');它对你来说很好用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多