本文目錄一覽:
- 1、本地的PHP網站,如何在區域網中的其它機子上打開?
- 2、nginx在我本機windows主機上配置載入不了php模塊
- 3、php用smtp 發送郵件失敗提示無法連接到主機
- 4、php程序本機測試正常,放到虛擬主機就不行
- 5、為什麼我不能用本機的ip來訪問本機上的php項目(訪問超時)?求指點。
本地的PHP網站,如何在區域網中的其它機子上打開?
1、首先你要確定所有的機子都在同一個區域網中
2、在操作系統界面開始里的運行那裡輸入cmd進入命令界面
3、在命令界面裡面輸入ipconfig這個命令後按回車
4、出現了一個192.xxx.xxx.xxx的IP
5、在其他機子上輸入這個IP 就可以訪問到了
nginx在我本機windows主機上配置載入不了php模塊
就算能執行,php-cgi跑一會就掛了,缺少php-fpm。你可以試試集成包phpfind或phpstudy,自動配好php+nginx,帶中文控制面板。你可以研究一下。
php用smtp 發送郵件失敗提示無法連接到主機
PHPMailer是一個郵件發送插件有很多朋友使用它來發郵件,但也有不少朋友在使用期PHPMailer發郵件時就碰到」SMTP 錯誤:無法連接到 SMTP 主機「錯誤了,出現這種問題我們從幾個點來分享,一個是郵箱配置有問題,另一個是我們的php.ini環境中有些函數沒開啟導致的,下面我來給各位詳細介紹一下問題的排除技巧。
原因分析
出現這個問題說明無法解析 SMTP 主機 主機 id 的名稱。
解決辦法,這個要看郵箱支付不支持pop3發送與接收郵件這個可以郵件官方看看,如QQ郵件
phpmailer error SMTP Error: Could not connect to SMTP host Could not instantiate mail function
弄了半天,原來是不同郵件系統要求的smtp請求不同,但是都允許大寫,有些不支持小寫,比如網易,騰訊的郵箱。
原來的設置
$mail-SMTPAuth = true;
$mail-Mailer = “smtp”;
$mail-Host = “smtp.qq.com”;
$mail-Port = 25; //設置郵件伺服器的埠,默認為25
$mail-Username = “8515888@qq.com”;
$mail-Password = “xxxxxxxxxx”;
把smtp改成大寫就可以了
$mail-Mailer = “SMTP”;
分析問題2,
還有大家就是使用了空間而不是伺服器這樣有可能像fsockopen、pfsockopen都禁用了,因為phpmailer需要使用fsockopen、pfsockopen才可以發郵件所以就會有問題了。
解決辦法
找到class.smtp.php文件,大約在文件的128行吧,有這樣一段代碼:
// connect to the smtp server
$this-smtp_conn = @fsockopen($host, // the host of the server
$port, // the port to use
$errno, // error number if any
$errstr, // error message if any
$tval); // give up after ? secs
方法1:將fsockopen函數替換成pfsockopen函數
因為pfsockopen的參數與fsockopen基本一致,所以只需要將@fsockopen替換成@pfsockopen就可以了。
方法2:使用stream_socket_client函數
一般fsockopen()被禁,pfsockopen也有可能被禁,所以這裡介紹另一個函數stream_socket_client()。
stream_socket_client的參數與fsockopen有所不同,所以代碼要修改為:
$this-smtp_conn = stream_socket_client(“tcp://”.$host.”:”.$port, $errno, $errstr, $tval);
這樣就可以了。
php程序本機測試正常,放到虛擬主機就不行
檢查你的mysql設置,比如說賬號密碼之類的,php虛擬主機應該是給你了一個唯一的
還有你再虛擬主機上許可權的問題
為什麼我不能用本機的ip來訪問本機上的php項目(訪問超時)?求指點。
host文件里添加 IP和域名,還有我配的本地虛擬主機 IP只能為127.0.0.1 如果你配其他的IP要保證網路上或區域網內有相應的IP和機器,還要有訪問許可權。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/305185.html