在codeigniter中开发应用程序,在发送时收到以下错误 邮件白色注册。
PHP已弃用:与其类同名的方法不会 PHP未来版本中的构造函数; emailcomm已被弃用 构造函数 第3行的/var/www/html/portal/application/libraries/emailcomm.php
我的图书馆文件如下 的 emailcomm.php
class emailcomm
{
var $to;
var $subject;
var $message;
var $from='From:';
function emailcomm()
{
$this->CI=&get_instance();
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_port'] = '465';
$config['_smtp_auth']=TRUE;
$config['smtp_user'] = 'contact-us@webtech.com';
$config['smtp_pass'] = 'Web8*98*2015';
$config['smtp_timeout'] = '60';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = "html";
$this->CI->load->library('email',$config);
$this->CI->email->initialize($config);
}
}
最近升级服务器到php7。在升级它工作之前,现在它不工作。现在我正在检查上面显示错误的错误日志。我可以在这个代码中更改?谁能帮帮我吗 。谢谢
答案 0 :(得分:6)
在以前版本的PHP
中,如果PHP
找不到给定类的__construct()
函数,它将按类的名称搜索旧式构造函数,
但现在旧样式构造函数在PHP 7.0
中 DEPRECATED ,并将在以后的版本中删除。您应该始终在新代码中使用__construct()
。
阅读php manual
function __construct() {
// copy your old constructor function code here
}
答案 1 :(得分:2)
您需要使用__construct
而不是与您的班级同名的函数:
class Emailcomm
{
var $to;
var $subject;
var $message;
var $from='From:';
function __construct()
{
$this->CI=&get_instance();
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_port'] = '465';
$config['_smtp_auth']=TRUE;
$config['smtp_user'] = 'contact-us@webtech.com';
$config['smtp_pass'] = 'Web8*98*2015';
$config['smtp_timeout'] = '60';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = "html";
$this->CI->load->library('email',$config);
$this->CI->email->initialize($config);
}
}
仅用于编码标准,使用CamelCase作为您的班级名称,以大写字母开头。
还有一件事,恕我直言,您可能需要使用 DotEnv 库来处理您的配置,因为在代码中写下来有点混乱。
答案 2 :(得分:2)
更改此
函数emailcomm()
到
函数__construct()
答案 3 :(得分:0)
error_reporting(E_ALL & ~E_NOTICE);
-在application_top.php
中的应用程序文件中删除此行,并将以下代码行:
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
因为不支持不推荐的最新PHP版本