㈠ php FilesystemRuntime 配置
PHP FilesystemRuntime 配置主要包括以下幾個關鍵選項:
allow_url_fopen:
user_agent:
default_socket_timeout:
from:
auto_detect_line_endings:
這些配置選項共同影響了PHP在處理文件系統操作時的行為,特別是在與遠程文件交互和跨平台兼容性方面。調整這些設置時,應充分考慮安全性、性能和兼容性等因素。
㈡ PHP發送的電郵, hotmail收不到, 怎樣做
親 我給你份資料,你自己學學 關於 PHPmailer的,這個是燕十八的課,你網上搜搜,他的網站 自學IT網
,不行你就用他的方法 發郵件 真的自己使用socke他純便 指不定就那裡寫錯了,建議你使用PHPMAILER
第一,需要下載PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
第二,確認你的伺服器系統已經支持socket ,通過phpinfo();查看是否支持sockets(socket 是屬於沒哪PHP擴展部分),如果顯現為「enabled」,那就是支持了。
第三,把文件解壓到你的web伺服器目錄下,調用類就可以了.
首先包含class.phpmailer.php,然後創建對象,設置參數,調用成員函數。
例1,做成函數方便調用
復制代碼 代碼如下:
<?php
require("phpmailer/class.phpmailer.php");
function smtp_mail( $sendto_email, $subject, $body, $extra_hdrs, $user_name){
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "200.162.244.66"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "yourmail"; // SMTP username 注意:普通郵件認證不需要加 @域名
$mail->Password = "mailPassword"; // SMTP password
$mail->From = "[email protected]"; // 發件人郵箱
$mail->FromName = "管理員"; // 發件人
$mail->CharSet = "GB2312"; // 這里指定字元集!
$mail->Encoding = "base64";
$mail->AddAddress($sendto_email,"username"); // 收件人郵箱和姓名
$mail->AddReplyTo("[email protected]","yourdomain.com");
//$mail->WordWrap = 50; // set word wrap 換行字數
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
$mail->IsHTML(true); // send as HTML
// 郵件主題
$mail->Subject = $subject;
// 郵件內容
$mail->Body = "
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
I love php。
</body>
</html>
";
$mail->AltBody ="text/html";
亮消 if(!$mail->Send())
{
echo "郵件發送有誤 <p>";
echo "郵件錯誤信息: " . $mail->ErrorInfo;
exit;
}
else {
echo "$user_name 郵件發送成功!<br />";
枯鍵碼 }
}
// 參數說明(發送到, 郵件主題, 郵件內容, 附加信息, 用戶名)
smtp_mail("[email protected]", "歡迎使用phpmailer!", "NULL", "yourdomain.com", "username");
?>
注意:
1.郵件的字元集設置, $mail->CharSet = "GB2312"; // 這里指定字元集!在這里我只指定為GB2312因為這樣Outlook能正常顯示郵件主題,我嘗試過設為utf-8但在Outlook下顯示亂碼。
2.如果是發送html格式的郵件,那麼記得也指定
3.如果你想用它來群發郵件的話,記得修改包含文件函數,如:
require("phpmailer/class.phpmailer.php");
改為
require_once("phpmailer/class.phpmailer.php");
否則的話會產生類的重定義。
個人認為要使用phpmailer,首先,需要有一個郵件伺服器,PHP的 mail函數沒有指定,應該是使用的PHP設置的SMTP。
而在這里需要具體指定,同時需要指定郵件伺服器的管理者和密碼。
PHPMailer 也是一個功能強大的郵件類
PHPMailer的主要功能特點:
支持郵件 s/mime加密的數字簽名
支持郵件多個 TOs, CCs, BCCs and REPLY-TOs
可以工作在任何伺服器平台,所以不用擔心WIN平台無法發送郵件的問題的
支持文本/HTML格式郵件
可以嵌入image圖像
對於郵件客戶端不支持HTML閱讀的進行支持
功能強大的發送郵件調試功能debug
自定義郵件header
冗餘SMTP伺服器支持
支持8bit, base64, binary, and quoted-printable 編碼
文字自動換行
支持多附件發送功能
支持SMTP伺服器驗證功能
在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台測試成功
提供的下載文件中,包括內容詳細的說明文檔及示例說明,所以不用擔心難於上手的問題!
PHPMailer 非常小巧、簡單、方便、快捷
以上資料由Jiucool 翻譯自phpmailer 官網,轉載請註明!
PHPMailer的使用(這里以使用gmail smtp發送郵件為例,當然也支持sendmail pop 等其他方式):
首先到http://phpmailer.worxware.com/ 下載最新版本的程序包
下載完成後,找到class.phpmailer.php 、class.smtp.php兩個類放到自己的目錄下!
然後新建一個php文件這里命名為:phpmail_jiucool.php
phpmail_jiucool.php內容如下:
我直接將郵件發送模塊寫成一個函數postmail_jiucool_com(),大家使用的時候直接調用該函數即可,函數內容為:
復制代碼 代碼如下:
function postmail_jiucool_com($to,$subject = "",$body = ""){
//Author:Jiucool WebSite: http://www.jb51.net
//$to 表示收件人地址 $subject 表示郵件標題 $body表示郵件正文
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set("Asia/Shanghai");//設定時區東八區
require_once('class.phpmailer.php');
include("class.smtp.php");
$mail = new PHPMailer(); //new一個PHPMailer對象出來
$body = eregi_replace("[]",'',$body); //對郵件內容進行必要的過濾
$mail->CharSet ="UTF-8";//設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置,否則亂碼
$mail->IsSMTP(); // 設定使用SMTP服務
$mail->SMTPDebug = 1; // 啟用SMTP調試功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 啟用 SMTP 驗證功能
$mail->SMTPSecure = "ssl"; // 安全協議
$mail->Host = "smtp.googlemail.com"; // SMTP 伺服器
$mail->Port = 465; // SMTP伺服器的埠號
$mail->Username = "SMTP伺服器用戶名"; // SMTP伺服器用戶名
$mail->Password = "SMTP伺服器密碼"; // SMTP伺服器密碼
$mail->SetFrom('發件人地址,如admin#jiucool.com #換成@', '發件人名稱');
$mail->AddReplyTo("郵件回復地址,如admin#jiucool.com #換成@","郵件回復人的名稱");
$mail->Subject = $subject;
$mail->AltBody
= "To view the message, please use an HTML compatible email viewer! -
From www.jiucool.com"; // optional, comment out and test
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, "收件人名稱");
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,郵件發送成功!";
}
}
㈢ php怎麼創建開啟socket服務
在PHP中創建和開啟socket服務,可以參考以下示例代碼。首先,我們需要創建一個socket伺服器,這通常通過PHP內置的socket相關函數來實現。這里提供一個簡單的示例,幫助理解基本的socket服務搭建過程。
下面是一個基本的PHP socket伺服器示例:
php
$address = '127.0.0.1';
$port = 12345;
$backlog = 5;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}
socket_bind($socket, $address, $port);
if (socket_listen($socket, $backlog) === false) {
echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
echo "Socket server is listening on $address:$port\n";
while (true) {
$client_socket = socket_accept($socket);
if ($client_socket === false) {
echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
$client_address = socket_getpeername($client_socket, $client_port);
echo "Connection from $client_address:$client_port\n";
socket_write($client_socket, "Hello from server\n");
socket_close($client_socket);
}
}
socket_close($socket);
在這個示例中,我們創建了一個TCP socket伺服器,監聽本地IP地址127.0.0.1的12345埠。伺服器接受客戶端連接請求,並向每個客戶端發送一條歡迎信息。
運行這個示例代碼後,你可以使用如下的客戶端代碼與伺服器進行通信:
php
$client_socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($client_socket, '127.0.0.1', 12345);
$response = socket_read($client_socket, 1024);
echo $response;
socket_close($client_socket);
以上示例展示了如何創建一個PHP socket伺服器及其客戶端。通過這些基礎代碼,你可以進一步擴展功能,實現更復雜的服務和客戶端交互。
㈣ 請問一下,PHP配置SMTP怎麼弄
PHPMailer的獲取:
PHPMailer項目地址:PHPMailer 使用git命令克隆到本地,或直接在該項目頁面的右下方點擊「 Download ZIP 」即可獲取到完整的PHPMailer代碼包,再到本地解壓即可。
步驟一:使我們的QQ郵箱能夠發送郵件
這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的。
這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的
由於待會我們用到的是SMTP伺服器來發送,在這里建議把前面的兩項開啟了!當你點擊開啟的時候,它會提示:
<?phprequire_once("./functions.php");$flag=sendMail('[email protected]','lsgo在線通知','恭喜你成功加入LSGO實驗室,開啟你的學習之旅吧!');if($flag){echo"發送郵件成功!";
}else{echo"發送郵件失敗!";
}?>
㈤ workerman有什麼用
Workerman是一款純PHP開發的開源高性能的PHP socket 服務框架。 (推薦學習: workerman教程)
Workerman不是重復造輪子,它不是一個MVC框架,而是一個更底層更通用的socket服務框架,你可以用它開發tcp代理、梯子代理、做游戲伺服器、郵件伺服器、ftp伺服器、甚至開發一個php版本的redis、php版本的資料庫、php版本的nginx、php版本的php-fpm等等。
Workerman可以說是PHP領域的一次創新,讓開發者徹底擺脫了PHP只能做WEB的束縛。
實際上Workerman類似一個PHP版本的nginx,核心也是多進程+Epoll+非阻塞IO。
Workerman每個進程能維持上萬並發連接。由於本身常住內存,不依賴Apache、nginx、php-fpm這些容器,擁有超高的性能。
同時支持TCP、UDP、UNIXSOCKET,支持長連接,支持Websocket、HTTP、WSS、HTTPS等通訊協以及各種自定義協議。擁有定時器、非同步socket客戶端、非同步Mysql、非同步Redis、非同步Http、非同步消息隊列等眾多高性能組件。
Workerman的一些應用方向如下:
1、即時通訊類 例如網頁即時聊天、即時消息推送、微信小程序、手機app消息推送、PC軟體消息推送等等 [示例 workerman-chat聊天室 、 web消息推送 、 小蝌蚪聊天室]
2、物聯網類 例如Workerman與列印機通訊、與單片機通訊、智能手環、智能家居、共享單車等等。 [客戶案例如 易聯雲、易泊時代等]
3、游戲伺服器類 例如棋牌游戲、MMORPG游戲等等。[示例 browserquest-php]
4、SOA服務化 利用Workerman將現有業務不同功能單元封裝起來,以服務的形式對外提供統一的介面,達到系統松耦合、易維護、高可用、易伸縮。[示例 workerman-json-rpc、 workerman-thrift]
5、其它伺服器軟體 例如 GatewayWorker,PHPSocket.IO,http代理,sock5代理,分布式通訊組件,分布式變數共享組件,消息隊列、DNS伺服器、WebServer、CDN伺服器、FTP伺服器等等
6、中間件 例如非同步MySQL組件,非同步redis組件,非同步http組件,非同步消息隊列組件,非同步dns組件,文件監控組件,還有很多第三方開發的組件框架等等