如何修复文件ApplicationError.php中的PHP错误以发送电子邮件

时间:2014-02-09 07:56:15

标签: php google-app-engine email

我正在尝试使用Google App Engine中的PHP发送电子邮件。要发送电子邮件,Require Once必须包含php文件Message.php:请参阅:Code example here at Google

require_once 'google\appengine\api\mail\Message.php';

Message.php文件包括:

require_once 'google/appengine/api/mail/BaseMessage.php';

BaseMessage.php文件又需要三个其他PHP文件:

require_once 'google/appengine/api/mail_service_pb.php';
require_once 'google/appengine/runtime/ApiProxy.php';
require_once 'google/appengine/runtime/ApplicationError.php';

因此,回顾一下,Message.php需要BaseMessage.phpBaseMessage.php需要3个以上的php文件。

一切正常,直到最后一个PHP文件为止:

require_once 'google/appengine/runtime/ApplicationError.php';

然后发生致命错误:

Fatal error: Class 'google\appengine\runtime\Error' not found in
C:\Users\UserName\Dropbox\ApplicationName\google\appengine\runtime\
ApplicationError.php on line 22

这是第22行:

class ApplicationError extends Error {

这是由Google提供的代码:the latest PHP SDK for App Engine

这不是我写的代码。所需文件的路径似乎正在运行,否则我会在第一个所需文件上收到错误消息。我已经测试了require_once行代码,这些代码行引用了相同目录中的其他PHP文件而没有错误。所以问题不是相对路径或PHP.ini文件的问题。

我的PHP版本为Current PHP version: 5.4.22 Windows 7的 XAMPP与Netbeans,Apache

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

我得到了PHP电子邮件代码。我仍然不知道确切的问题是什么,但它必须与我的Netbeans IDE当前配置为PHP的方式有关。 Google App Engine SDK内置了PHP,但我没有从Google App Engine Launcher运行我的应用程序。当我直接从Google App Engine Launcher运行我的应用程序时,代码运行正常。我猜测Netbeans版本的PHP与Google App Engine SDK版本的PHP略有不同。这导致其中一个文件出错。无论如何,我得到了发送电子邮件的PHP代码。所以,代码将运行。这告诉我,我在Netbeans中对PHP的配置可能与Google App Engine SDK中PHP版本中的PHP配置不同。我可能会尝试在netbeans中调整PHP.ini文件,看看我是否可以直接链接到PHP的Google App Engine SDK版本。