我正在使用Yii框架进行网页开发。
我试图使电子邮件cron作业,为此我使用PHPMailer。
这是我配置文件/控制台.php
> return array(
> 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
> 'name'=>'My Console Application',
>
> // preloading 'log' component
> 'preload'=>array('log'),
> 'import'=>array(
> 'application.modules.*',
> 'application.extensions.*',
> 'application.components.*',
> 'application.models.*',
> ), ....
我的命令/测试命令.php**
class UptimeCheckerCommand extends CConsoleCommand{
public function run($args) {
....
$warning->send();
....
我组件/警告.php
....
require("/protected/extensions/PHPMailer/class.phpmailer.php");
....
错误报告:
PHP Error[2]: require(/protected/extensions/PHPMailer/class.phpmailer.php): fail
ed to open stream: No such file or directory
我已经用组件的控制器测试过了,它工作得很好。只有当我试图用yiic test命令访问它时,错误才会发生。
任何帮助都将不胜感激
4条答案
按热度按时间daolsyd01#
并将文件class.phpmailer.php重命名为PHPMailer.php
导入目录不会导入其任何子目录。
iyr7buue2#
试试看:
然后使用**$mailer***发送电子邮件 *
igetnqfo3#
然后,您可以使用以下方法创建对象:
lnlaulya4#
感谢您的快速回复。
我已经试过上面一些建议了。
安德烈·沙季洛夫的建议不起作用。
对于usman allam和mazraara的建议进行修改:
“/protected/extensions/PHPMailer/class.phpmailer.php“(文件名:/保护的/扩展的/phpmailer/class. phpmailer. php)中指定的文件类型。
与
Yii::import('应用程序.扩展名. phpmailer.class. phpmailer.php');
我也不能工作,因为文件名中有点(class.phpmailer.php)
因为它,Yii认为我请求的是class文件夹中的phpmailer.php而不是class.phpmailer.php
有效的代码:
需要(“.../受保护/扩展/PHPMailer/class. phpmailer. php”);
我不知道为什么这个工作,因为我的testCommand.php在/protected/command/testCommand. php和我的phpmailer文件在/protected/extensions/PHPMailer/,但它的工作.