之前有個客戶需要使用soap介接
那預設的soap是需要使用 socket 服務來串接
我這邊整理遇到的問題
 
一開始這邊整理測試於
windows 2003 主機(IIS6+PHP) 以及 我自己開發的windows(apache+PHP)
測試完成後開始到linux主機測試
 
那一開始遇到:檔案無法上傳(沒有錯誤訊息)
所以就調整錯誤訊息顯示
錯誤:[沒有檔案資料夾權限]
也就是PHP沒有權限寫入tmp_file資料夾
修改資料夾之後修復
 
第二個問題:資料無法送出(500錯誤)
經檢查發現因為需要用GD圖片PHP擴充套件
需要將php.ini中的
extension=php_gd2.dll
打開
修正PHP設定後重啟apache服務修正問題
 
第三個問題:資料無法送出(無法建立scoket連線)(headers timed out)
之後嘗試送出發現無法建立scoket連線(soap函式需要用到)
檢查php.ini設定 打開以下擴充(建議打開)
extension=php_openssl.dll
extension=php_soap.dll
extension=php_sockets.dll



但是發現問題依然無法解決
也嘗試修改IIS6設定也無法解決
最後發現主因是因為測試環境的對外防火牆問題
經調整之後可以正常送出了
所以這邊必須要開放 windows 的防火牆允許scoket連線
 
第四個問題:附件檔案upload功能錯誤
經查證發現為php.ini的暫存資料夾未設定的問題
請確定php.ini
session.save_path = "C:\temp"
upload_tmp_dir = "C:\temp"



的設定資料是否存在且可以正常寫入
如果有修改php.ini設定請重新啟動IIS服務
修正PHP設定後重啟apache服務修正問題
 
以上是我當時遇到的問題
給大家參考
感恩