我正在尝试使用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.php
而BaseMessage.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
如何解决此问题?
答案 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版本。