首頁 »
2011/03/30

php gmail發信錯誤的解決方法

發信時會出現:ERROR: 24 - Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP

這個問題一直是沒安裝好php的openssl

雖然我在php.ini裡已將extension=php_openssl.dll註解拿掉,php似乎沒有加載它,
也有人說php5會自動加載,但好像不是那樣的,和php4一樣要去設ini檔;

可以執行下面語法來證明:echo '
';
print_r(stream_get_wrappers());
echo '
';

echo '
';
print_r(get_loaded_extensions());
echo '
';

會得到:
Array
(
[0] => php
[1] => file
[2] => data
[3] => http
[4] => ftp
[5] => compress.zlib
)

Array
(
[0] => bcmath
[1] => calendar
[2] => com_dotnet
[3] => ctype
[4] => session
[5] => filter
[6] => ftp
[7] => hash
[8] => iconv
[9] => json
[10] => odbc
[11] => pcre
[12] => Reflection
[13] => date
[14] => libxml
[15] => standard
[16] => tokenizer
[17] => zlib
[18] => SimpleXML
[19] => dom
[20] => SPL
[21] => wddx
[22] => xml
[23] => xmlreader
[24] => xmlwriter
[25] => apache2handler
[26] => curl
[27] => mbstring
[28] => exif
[29] => gd
[30] => mhash
[31] => printer

上面就沒有
[30] => openssl

最後找到一篇文章講到,把libeay32.dll 和 ssleay32.dll 複制到
1.如果是windows就是到system32下
2.linux我就不清楚了

結果與system32裡面的檔案不相同,日期已差了很多版本,
最後覆蓋後,php就可以正常運作openssl

Mail也順利發送出去了,搞了一天>.<

參考文章:
1.http://forteallan.pixnet.net/blog/post/22045525
2.http://coding.derkeiler.com/Archive/PHP/comp.lang.php/2008-03/msg00819.html

關鍵字: 文章

避免切掉半個中文字←上一篇 │首頁│ 下一篇→PHP 在 IE8 上會出現登入帳號的問題
本文引用網址: