打开php/php.ini:
修改
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
为
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING
即可。
在php.ini文件中,根据操作系统的不同,选择不同的设置方法:
; UNIX: "/path1:/path2"
include_path = ".:./php/pear"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\pear"
例子:
<?php
require 'Net/SMTP.php';
$host = '126.com';//smtp服务器的ip或域名
$username= 'arcow';//登陆smtp服务器的用户名
$password= 'secret';//登陆smtp服务器的密码
$from = 'xxx@126.com'; //谁发的邮件
$rcpt = array('test@test.com', 'xxx@126.com');//可设多个接收者
$subj = "Subject: 你是谁\n";//主题
$body = "test it";//邮件内容
/* 建立一个类 */
if (! ($smtp = new Net_SMTP($host))) {
die("无法初始化类Net_SMTP!\n");
}
/* 开始连接SMTP服务器*/
if (PEAR::isError($e = $smtp->connect())) {
die($e->getMessage() . "\n");
}
/* smtp需要身份验证 */
$smtp->auth($username,$password,"PLAIN");
/*设置发送者邮箱 */
if (PEAR::isError($smtp->mailFrom($from))) {
die("无法设置发送者邮箱为 <$from>\n");
}
/* 设置接收邮件者 */
foreach ($rcpt as $to) {
if (PEAR::isError($res = $smtp->rcptTo($to))) {
die("邮件无法投递到 <$to>: " . $res->getMessage() . "\n");
}
}
/* 开始发送邮件内容 */
if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) {
die("Unable to send data\n");
}
/* 断开连接 */
$smtp->disconnect();
echo "发送成功!";
?>
您可能感兴趣的文章:
php 邮件发送类(smtp方式或mail函数方式)
php使用smtp发送邮件的实现代码
php smtp发送邮件的函数
php中通过curl smtp发送邮件的例子
php使用Pear的NetMail发送smtp邮件
linux下php配置smtp发送邮件的方法
php写的smtp邮件发送类
REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。 如果考虑使用它的 Web 服务的数量,REST 近年来已经成为最主要的 Web 服务设计模型。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。
基于 REST 的 Web 服务的主要特征之一是以遵循 RFC 2616 定义的协议的方式显式使用 HTTP 方法。例如,HTTP GET 被定义为数据产生方法,旨在由客户端应用程序用于检索资源以从 Web 服务器获取数据,或者执行某个查询并预期 Web 服务器将查找某一组匹配资源然后使用该资源进行响应。
REST 要求开发人员显式地使用 HTTP 方法,并且使用方式与协议定义一致。 这个基本 REST 设计原则建立了创建、读取、更新和删除(create, read, update, and delete,CRUD)操作与 HTTP 方法之间的一对一映射。 根据此映射:
1)若要在服务器上创建资源,应该使用 POST 方法。
2)若要检索某个资源,应该使用 GET 方法。
3)若要更改资源状态或对其进行更新,应该使用 PUT 方法。
4)若要删除某个资源,应该使用 DELETE 方法。
客户端:
<?php
$base_url = 'http://www./';
$client = new Zend_Rest_Client($base_url);
// 设置全局变量
$headers = array();
$client->headers($headers);
// 远程调用, 调用sayHello接口,传递两个字符串参数
$response = $client->sayHello('Hello', 'world!')->get();
if ($this->_request->getParam('debug')) {
echo "<pre>";
print_r(json_decode()($response, 1));
echo "</pre>";
} else {
echo $response;
}
服务器端:
<?php
// 捕获请求头信息
$headers = $this->_request->getParam('headers');
Zend_Registry::set('headers', $headers);
$server = new Zend_Rest_Server();
$server->setClass('Lijiabeibei_Blog');
$server->handle();
//接口处理类:(Lijiabeibei_Blog)
class Lijiabeibei_Blog {
protected $retval = array();
function __construct() {
}
/**
* 测试接口
* @param string $a
* @param string $b
*/
function sayHello($a, $b) {
if (!$this->retval['success']) {
$this->retval['debug']= print_r(
Zend_Registry::get('headers'), 1
);
return json_encode($this->retval);
}
$this->retval['debug'] = $a .' '.$b;
return json_encode($this->retval);
}
}
如果要设置多个服务类,可以这样:
$server = new Ylili_Rest_Server();
$server->setClass('Lijiabeibei_Blog');
$server->setClass('Lijiabeibei_Shop);
注意,多个服务器类的方法命名不要冲突。