1

在这里出错..

$mail = new SendGrid\Mail();

这条线在 php 5.2 中不起作用,我已经阅读了 php 5.3 之后出现的斜线。

我该如何解决这个问题以与 php 5.2 兼容?

谢谢你。

4

4 回答 4

3

只要SendGrid\Mail类是使用命名空间实现的(php >= 5.3 特性) - 没有解决方案只改变行

$mail = new SendGrid\Mail();

所以你还需要修改那个邮件类并删除所有 php 5.2 不兼容的东西

于 2012-07-06T10:52:43.243 回答
1

您将必须删除所有命名空间。PHP 5.3 之前完全不支持,会导致解析错误。

您必须声明没有命名空间的类,并在没有命名空间的情况下实例化它们。如果您现有的代码使用命名空间为您提供的任何功能 - 例如重复的类名,这可能非常重要。

于 2012-07-06T10:54:18.760 回答
0

看起来您正在使用仅兼容 PHP 5.3+ 的库(使用命名空间功能)。

恐怕唯一的解决方案是升级您的安装,或使用不使用命名空间功能的另一个库(或库的版本)。

在此处查看 SendGrid PHP 包装器列表。你应该找到一个与 PHP 5.2 兼容的,例如这个.

您还可以尝试修改当前库以删除命名空间的使用,如其他答案中所建议的那样。由于库很小,您可以尝试一下。

于 2012-07-06T10:53:21.487 回答
0

直接包含文件并

$mail = 新邮件();

但可能会有更多的问题,而不是这个,最好是另一个图书馆。

于 2012-07-06T10:53:49.673 回答