我在PHP中啓用套接字傳輸「ssl」時遇到問題。當我運行我的腳本,我得到的錯誤:未啓用PHP中的套接字傳輸「ssl」
Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://www.my.site.com:443 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)
我在Windows上運行IIS6,這是我到目前爲止已經做了嘗試得到它的工作:
- 的註釋掉在php.ini php_openssl.dll和php_sockets.dll擴展
- 確信PHP被加載我更改了(這是和它肯定加載其他擴展,所以我相當肯定,這是沒有問題的ini文件)
- 確保php_openssl.dll和php_sockets.dll在正確的位置
- 複製ssleay32.dll和的libeay32.dll到主PHP文件夾,在WINDOWS文件夾,並確保Windows路徑變量包括
- 確信的PHP的位置的WINDOWS/system32文件夾下
- 文件的權限是正確的在所有相關文件上。
我幾乎每改變一次都重新啓動IIS,但我沒有任何運氣。有什麼顯而易見的,我做錯了嗎?無論如何要在較小的部分進行故障排除? (因此,我可以通過排除法找出問題......?)
不幸的Windows/IIS不是我的專業領域 - 從來就被投入了負責,因爲沒有其他人似乎知道什麼。
php.log如何查找,如果您沒有啓用日誌記錄,請這樣做。 – RageZ 2009-11-10 05:45:34
要擴展@ RageZ的評論:是在php.ini中打開'display_startup_errors'? – 2009-11-10 06:00:33
是的,我們確實啓用了日誌記錄...但是作爲我的n00b,我完全忘了檢查> _ <我們得到的錯誤是: 「PHP警告:PHP啓動:無法加載動態庫」 C:\ PHP \ ext \ php_openssl.dll' - 訪問被拒絕。「 看到後,我認爲它可能是php_openssl.dll的權限問題,但我們將它與該文件夾中的另一個dll(我們知道正在加載)進行比較,它們似乎具有相同的權限和組。有沒有其他的東西可以阻止這個DLL加載? – jelina 2009-11-11 00:18:48