1.首先需先確認你安裝的PHP延伸模組中是否有php_openssl.dll這個函式庫,以YOGO的安裝路徑為例,到"C:\php5\ext\"這個資料夾中看是否有php_openssl.dll這個函式庫的存在,若有但openssl無法使用那就可能沒開啟這個擴充模組,以YOGO的設定為例,到"C:\WINDOS\"資料夾底下找到一個名php.ini的檔案,用筆記本之類的軟體開啟後,搜尋php_openssl.dll,找到之後將前方的";"字號去除之後存檔重開web server之後,應該就可以使用php_openssl.dll這個模組了,若在php.ini檔中,搜尋不到php_openssl.dll的話就把"extension=php_openssl.dll"這一段家到php.ini檔中,然後存檔重開web server之後,應該就可以使用php_openssl.dll這個模組了。
2.若安裝的PHP延伸模組中沒有php_openssl.dll這個函式庫的話就要自己去下載來裝了,首先先用phpinfo()函式,看一下安裝的php版本與php.ini檔的存放路徑,如下圖。
3.確定安裝的php版本後到php的官網(http://www.php.net/)中下載相對應的php版本,不管你的php是幾版的,你要下載的是PHP_X.X.X._zip_package的版本,不要去下載其他的版本,如下圖。
6.進入"ext"資料夾中找到"php_openssl.dll"這個擴充模組,如下圖。
7.將"php_openssl.dll"複製到你的php安裝路徑之下的"ext"資料夾,以YOGO為例,安裝路徑為"C:\php5\ext\",如下圖。
PS:
1.若改完php.ini重開web server卻出現找不到"php_openssl.dll"擴充模組的錯誤的話,將"php_openssl.dll"及在C:\php5\資料夾底下的libeay32.dll、ssleay32.dll,這個3檔案複製到"C:\WINDOWS\System32"這個資料夾底下,然後重起web server應該就可以解決這個問題了。
2.若你安裝的web server是含 openssl 的 apache 的話,
因為根據 windows 的設計, 他會先搜尋 (根據下面那段英文字) apache/bin,所以 php 內建的永遠跑不到了,請把php_openssl.dll、libeay32.dll、ssleay32.dll覆蓋到 apache/bin 去吧. 因為那才是應用程式的執行地方。 When any application attempts to use a dll file in windows, the system searches for this file using the following order:
1. The directory from which the application loaded.
2. The windows\system32 directory.
3. The windows\system directory.
4. The windows directory.
5. The current directory.
6. The directories that are listed in the PATH environment variable.
1. The directory from which the application loaded.
2. The windows\system32 directory.
3. The windows\system directory.
4. The windows directory.
5. The current directory.
6. The directories that are listed in the PATH environment variable.
3.php 的版本建議使用 php5,不要使用 php4,因為PHP 4.3.x 版本有 bug 會導致 fsockopen 無法接受 "ssl://example.com",即使有 OpenSSL support,還是會產生以下這樣的錯誤訊息:
Warning: fsockopen(): no SSL support in this build
以上的設定都沒問題的後就能用phpmailer透過gmail來代送mail,以上若有任何問題歡迎各位朋友提出來一起討論,祝好運囉^^
如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。