中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP SOAP 客戶端訪問超時

發布時間:2020-07-12 20:54:55 來源:網絡 閱讀:2933 作者:付離海 欄目:web開發

今天在windows機器上做PHP+SOAP的測試。

服務端環境: windows

客戶端環境: windows

服務端和客戶端都在一個環境(windows)上。


遇到的問題:服務端能正常的啟動,客戶端訪問服務端的時候,一直顯示超時 504錯誤。

找了很久的資料都沒解決,當看到有一篇文章里寫到:


我的開發環境是nginx+php,準備作一個soap的實驗,soapclient和soapserver都是在我的開發機上,用soapclient訪問soapserver的時候,總是返回504錯誤,相同的代碼放到apache+php_module的環境下沒有問題。
nginx的錯誤日志顯示,client和server的錯誤都是fastcgi超時,我一度懷疑是soapserver的問題,soapserver超時不響應,導致了soapclient的超時。
但是我用cli模式執行client,server能正常返回,說明不是soapserver的問題。
用nginx下的client訪問apache上的server,正常
用apache下的client訪問nginx上的server,正常

我恍然大悟,是不是進程數的問題,先懷疑nginx,后懷疑php-cgi,一查資料,如果用php-cgi -b9000直接器fastcgi的話,同時只能處理一個請求,soapclient和soapserver需要兩個進程,soapclient把進程掛 起等soap server返回,但是soapserver等待soapclient釋放phpcgi的進程,所以一直都是返回504了。

趕緊打個fpm的補丁,困惑n天的問題解決了。

網上有篇這樣的解決辦法不過看不明白啊,也不知道好不好用

來自: http://www.oschina.net/question/1404650_133899


好,看完后,我的情況的和描述的一樣,那就照著這個思路去做吧,相信我,是成功的。

首先: 給PHP開啟多個進程,因為默認的是一個進程,windows環境需要類似fpm這樣的php進程管理,在網上找了個xxfpm,附件里面有


配置: 

啟動fastcgi 一般的配置

D:/php55n/php-cgi.exe -b 127.0.0.1:9000 -c D:/php55n/php.ini
xxfpm D:/php55n/php-cgi.exe -n 2 -p 9000
xxfpm D:/php55n/php-cgi.exe -n 2 -p 9001

上面是三個開啟php進程的命令啊。


其次:配置nginx

    #服務端配置
    server {
        listen 80;
        server_name server.com;
        index index.html index.htm index.php;
        root D:/php_workplace/php_soap;
        location / {
            try_files $uri $uri/ /index.php;
        }

        location ~*\.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

    }
    
    #客戶端配置
     server {
        listen 81;
        server_name client.com;
        index index.html index.htm index.php;
        root D:/php_workplace/php_soap;
        location / {
            try_files $uri $uri/ /index.php;
        }

        location ~*\.php$ {
            fastcgi_pass 127.0.0.1:9001;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

    }


最后:開始測試
測試地址:http://client.com:81/client.php
返回:哈哈,能能訪問啦

附件里面有測試代碼哦。
附件:http://down.51cto.com/data/2365582
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朝阳区| 湘西| 琼中| 佛学| 鄂州市| 二连浩特市| 双城市| 革吉县| 瑞金市| 民勤县| 荣成市| 富蕴县| 北宁市| 利川市| 唐河县| 江永县| 弥勒县| 饶平县| 新化县| 溧阳市| 集贤县| 家居| 阿鲁科尔沁旗| 来安县| 逊克县| 牡丹江市| 皋兰县| 同江市| 延长县| 百色市| 滨海县| 康马县| 蕲春县| 民和| 车险| 炉霍县| 武义县| 眉山市| 河间市| 西华县| 道孚县|