0

我在 Mac OS X 上使用 MAMP 2.1.1(不是 MAMP Pro)。我想编写一些 php 代码来发送 html 电子邮件。

我已经安装了mail、mail_mime 和net_smtp。当我尝试在http://pear.php.net/manual/en/package.mail.mail.send.php上找到的示例时,我总是得到“500 Internal Server Error”。我检查了 php_error.log,它显示“PHP 致命错误:找不到类‘邮件’”。我试过了

<?php
require_once('Mail.php');
var_dump(class_exists('Mail', false));
?>

它返回 bool(false) bool(false)

我检查了所有文件和路径,一切似乎都很好。我在 ubuntu 服务器上尝试了相同的代码,一切都很好。

谁能告诉我如何解决这个问题?

4

1 回答 1

0

我今年清理了安装的 Mountain Lion,我现在使用的是内置的 apache、php 和 mysql 而不是 MAMP。但是我发现这个问题在我当前的环境中仍然存在。

但是我有一个不完善的解决方案可以使代码正常工作。我在调用 require/require_once 之前放置了这一行:

ini_set('include_path', ini_get('include_path') . ':/usr/lib/php/pear');

那么邮件功能就可以工作了。

没有这一行,我机器上的包含路径是.:/usr/local/php5/lib/php. 您可以看到问题是由不正确的路径引起的。由于某种原因,PEAR 安装在不同的路径中,并且 php.ini 设置不正确。

您可以在您的机器上尝试此解决方案。首先找出您的梨安装路径,然后相应地更改该行并将其放入您的代码中。

希望这个解决方案能给你一点提示。如果您能分享更好的解决方案,我将不胜感激!

于 2013-04-08T18:10:28.733 回答