Php 使用Zend Mail作为模块

Php 使用Zend Mail作为模块,php,zend-framework,Php,Zend Framework,“我的文件夹”的结构是: root/report/call.php root/pluign/Zend/Loader/Autoloader.php Zend框架在定位文件方面似乎有一些问题。如何解决这个问题?多谢各位 call.php: Fatal error: Uncaught exception 'Zend_Exception' with message 'File "Mail.php" does not exist or class "Mail" was not found in the f

“我的文件夹”的结构是:

root/report/call.php root/pluign/Zend/Loader/Autoloader.php

Zend框架在定位文件方面似乎有一些问题。如何解决这个问题?多谢各位

call.php:

Fatal error: Uncaught exception 'Zend_Exception' with message 'File "Mail.php" does not exist or class "Mail" was not found in the file' in     C:\xampp\htdocs\fyp\plugin\Zend\Loader.php:99 

Stack trace: #0 C:\xampp\htdocs\fyp\report\bounce.php(9): Zend_Loader::loadClass('Mail') #1 {main} thrown in C:\xampp\htdocs\fyp\plugin\Zend\Loader.php on line 99

将Zend框架放在php.ini include\u路径中。这就是
include_path='。;C:\xampp\php\PEAR'
指向。
在php.ini中,使包含路径看起来像
include_path='。;C:\xampp\php\PEAR;C:\path\to\ZendFramework-1.11.11-minimal/library'
那么您的自动加载器应该可以工作了

解决您的编辑问题:
类名不是“邮件”。
Zend_Loader::loadClass('Zend_Mail')

在ZF1.x中,类名模仿文件的路径。这是一个临时名称空间,在PHP拥有名称空间之前就已经完成了

例如
Zend\u Mail\u Storage\u IMAP
将位于
/Zend/Mail/Storage/IMAP


希望这有帮助

我注意到(include_path=';C:\xampp\php\PEAR'),这是原因吗?为什么zend框架会指向那个地方?谢谢。我使用了set_include_path($_SERVER['DOCUMENT_ROOT']./fyp/plugin');您是否介意查看编辑版本,这里有一些问题,但问题是如果我使用set_include_path($_SERVER['DOCUMENT_ROOT']./fyp/plugin');我不想硬编码,因为fyp是文件夹名称可能会更改的,有没有更好的方法?谢谢,因为我不想更改php.ini最后一个问题,我可以用zend从gmail中检索反弹消息吗?非常感谢。
<?
set_include_path($_SERVER['DOCUMENT_ROOT'].'/fyp/plugin');
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();

//Zend_Loader_Autoloader::getInstance();

//set_include_path('../plugin/ZendFramework-1.11.11-minimal/library/Zend');
Zend_Loader::loadClass('Mail');




$mail = new Zend_Mail_Storage_IMAP(array('host'     => 'imap.gmail.com',
                                         'user'     => 'admin@gmail.com',
                                         'password' => 'pwd',
                                         'ssl'      => 'SSL',
                                         'port'     => 993
                                         ));




echo $mail->countMessages() . " messages found\n";

foreach ($mail as $message) {
    echo "Mail from '{$message->from}': {$message->subject}\n";
}

include("../connection/conn.php");
session_start();

?>