當前位置:首頁 » 編程語言 » webserverphp

webserverphp

發布時間: 2022-06-12 03:59:14

A. webservice介面怎麼寫 php

webservice 發展了好久了,有好多種客戶端部署調用方式 ,流程大致是先創建服務,再調用。
下面的代碼是創建一個簡單的Webservice服務.
server.php
<?php

require_once "lib/nusoap.php";
function webserver() {
return "This is a Webservice Server";
}
$soap = new soap_server;
$soap->register('webserver');
$soap->service($HTTP_RAW_POST_DATA);
?>

上面的代碼就創建了一個Webservice服務程序,接下來創建調用Webservice介面的程序:
<?php
require_once "soap/lib/nusoap.php";

$web_url = "";
$client = new soapclient($web_url."/server.php");

$param = array();
$ret = $client->call('webserver', $param, $web_url, $web_url);

echo $ret;

?>
基本上流程就是這樣,當然,實際應用上能寫出很復雜的東西,這個你可以找找相關資料學習一下,上面的php調用Webservice程序是通用的,適合於PHP調用其它ASP.NET及java等各類語言的Webservice介面。一些技術博文里有很詳細的介紹和學習。

參考地址:

B. 在php中,有應用伺服器+web伺服器組合的應用嗎

lamp:伺服器為apache,php作為apache的一個模塊被載入到apache進程中,apache接受的動態請求通過SAPI與php進行交互,即php的Apache 2.0 Handler模式
lnmp:web伺服器為nginx,接受到動態請求通過socket轉發給後端php-fpm,進行處理並返回給webserver,此時php的運行模式為PHP-CGI,fpm為PHP fast-cgi的協議的實現!

C. linux下WebServer 怎麼實現PHP動態網頁響應!

你直接去自己讀 http 伺服器的介面相關代碼吧。
推薦個小型的 http 伺服器程序 http://www.lighttpd.net/download/

不過現在 cgi 方式是通用的,apache 的 so 方式調用貌似需要 php 這邊代碼的支持,也就是 apache 有 so 代碼介面,php 根據這個介面做的擴展式模塊。
這種方式也就兩種辦法,要麼你的 httpd 伺服器自己實現 apache 的模塊介面函數,要麼就去改寫 php 的代碼,給自己的 httpd 製作一個對應的模塊功能。

當然還一個辦法,那就是乾脆集成 php 到你的伺服器代碼里。不過注意你的程序協議。php 雖然不是 gpl 的,用的是他自己的 PHP lic ,類似 BSD 但貌似不是 left 。

D. php怎麼調用java的https方式的webservice介面

webservice 發展了好久了,有好多種客戶端部署調用方式 ,流程大致是先創建服務,再調用。
下面的代碼是創建一個簡單的Webservice服務.
server.php
<?php

require_once "lib/nusoap.php";
function webserver() {
return "This is a Webservice Server";
}
$soap = new soap_server;
$soap->register('webserver');
$soap->service($HTTP_RAW_POST_DATA);
?>

上面的代碼就創建了一個Webservice服務程序,接下來創建調用Webservice介面的程序:
<?php
require_once "soap/lib/nusoap.php";

$web_url = "127.0.0.1";
$client = new soapclient($web_url."/server.php");

$param = array();
$ret = $client->call('webserver', $param, $web_url, $web_url);

echo $ret;

?>
基本上流程就是這樣,當然,實際應用上能寫出很復雜的東西,這個你可以找找相關資料學習一下,上面的php調用Webservice程序是通用的,適合於PHP調用其它ASP.NET及Java等各類語言的Webservice介面。一些技術博文里有很詳細的介紹和學習。

E. php 中 webservice 是如何使用的 調用別人的介面 參數是如何傳遞的

php調用web service還是非常簡單的。下面用一個例子說明:
web service服務是查詢QQ用戶是否在線
使用php5開發客戶端:
<?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("");
var_mp($client->__getTypes());
print("");

class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);

$arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);

echo $arrResult->qqCheckOnlineResult . "";
} catch (SOAPFault $e) {
print $e;
}
?>
代碼確實很簡單吧,創建SoapClient對象時,可以使用保存在本地WSDL文件,也可以使用遠程的地址,後面的array數組里可以帶上很多的參數,具體參數可以查php的SoapClient幫助,這里帶的是字元集編碼,如果調用方法的參數里有中文,一定要指定字元集編碼,否則會出錯。
調
用web service前可以先調用SoapClient的__geunctions()和__getTypes()方法看一下你要調用的
web service暴露的方法,參數和數據類型,需要注意的是傳入的參數名一定要和soapclient裡面定義的一致,否則參數是傳不過去的。
需要使用SoapClient的__soapCall()或__call()方法,具體使用方法可以查php的幫助文檔。如果參數要求是一個結構體,請用類代替,如上面的代碼。
另外發現個問題,如果web service方法返回的是xml格式的字元串,php接收到以後會自己把數據內容解析出來,而不是xml字元串.

F. 如何使用內建的 PHP Web 伺服器

從 PHP 5.4 版本以來,CLI SAPI 就帶有內置的 web 伺服器 Apache 或者 php.net) 作為參數。當命令還在產品或者是其它開發環境中執行時,已經有一個這樣的「路由器」腳本參數傳遞給了 Symfony。可以在任何環境或者路由器腳本中使用路由器選項:
$ php app/console server:start --env=test --router=app/config/router_test.php

如果您的程序的根文檔和標準的目錄布局不同,那麼您需要通過使用 --docroot 選項來傳遞正確的位置:
$ php app/console server:start --docroot=public_html

停止伺服器
當您完成了工作,您可以通過 server:stop 命令來停止伺服器:
$ php app/console server:stop
就像使用啟動伺服器命令一樣,如果省略了套接字信息, Symfony 會停止 localhost:8000 下的伺服器。所以,當您的伺服器監聽的不是默認地址或者埠的時候,請在執行命令的時候加上套接字信息:
$ php app/console server:stop 192.168.0.1:8080

G. PHP SAPI 和web server的關系

用戶請求->apache->apache通過SAPI與PHP進行連接,對請求的PHP進行處理->結果返回給用戶

H. PHP應選哪個web server

web server選apache,xp上面用IIS效率低,優點是可以用ASP。

安裝的話,我用phpstudy套件。

I. 如何設置PHP 5.4內置的web伺服器

PHP是一種腳本語言,它需要PHP解釋器來分析運行PHP文件。當把PHP做為CGI服務Web請求時,它需要被嵌入到某種Web伺服器里,最常 見的是集成到Apache或IIS里,這就是說,在使用PHP前,你需要安裝Apache或IIS,並且正確的配置它們和PHP集成的參數。雖然這種配置 已經很規范,文檔非常豐富,但我們還是經常在安裝Apache和PHP集成時遇到問題,而且,有時候我們只想測試一個簡單的PHP特徵,不想就為此安裝、 啟動Apache服務。
但據官方文檔上說,這個內置的Web伺服器只是提供開發測試使用,不推薦使用中生產環境中。因為這個伺服器接受處理請求時順序執行的,不能並發處理。
這個內置的web伺服器使用起來非常的方便,你只需要執行下面的命令:
?

1

$ php -S localhost:8000

然後就可以訪問了。這樣啟動後,默認的web服務目錄是執行命令的當前目錄,如果不想使用當前目錄,你需要使用 -t 參數來指定。
例 #1 啟動Web伺服器
?

1
2

$ cd ~/public_html
$ php -S localhost:8000

終端輸出信息:
?

1
2
3
4

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

當請求了 http://localhost:8000/ 和 http://localhost:8000/myscript.html 地址後,終端輸出類似如下的信息:
?

1
2
3
4
5
6
7
8
9

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

例 #2 啟動web伺服器時指定文檔的根目錄
?

1
2

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

終端顯示信息:
?

1
2
3
4

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

如果你在啟動命令行後面附加一個php腳本文件,那這個文件將會被當成一個「路由器」腳本。這個腳本將負責所有的HTTP請求,如果這個腳本執行時返回FALSE,則被請求的資源會正常的返回。如果不是FALSE,瀏覽里顯示的將會是這個腳本產生的內容。
例 #3 使用路由器腳本
在這個例子中,對圖片的請求會返回相應的圖片,但對HTML文件的請求會顯示「Welcome to PHP」:
?

1
2
3
4
5
6
7
8

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>

執行:
?

1

$ php -S localhost:8000 router.php

例 #4 判斷是否是在使用內置web伺服器
通過程序判斷來調整同一個PHP路由器腳本在內置Web伺服器中和在生產伺服器中的不同行為:
?

1
2
3
4
5
6
7

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
/* route static assets and return false */
}
/* go on with normal index.php operations */
?>

執行:
?

1

$ php -S localhost:8000 router.php

這個內置的web伺服器能識別一些標準的MIME類型資源,它們的擴展有:.css, .gif, .htm, .html, .jpe, .jpeg, .jpg, .js, .png, .svg, and .txt。對.htm 和 .svg 擴展到支持是在PHP 5.4.4之後才支持的。

J. windows下運行php的web server,怎麼搭配性能比較優

Apache(WINNT MPM) + MOD_PHP(ZendOPcache) + MySQL5.6
整體配置簡單,也沒有IIS復雜,以後遷移到Linux也方便.
如果Windows上MySQL慢,可能是這種情況:
1.my.ini里配置bind-address=127.0.0.1時,Win7及其以上版本系統PHP用localhost連接MySQL耗時超過1秒,比用127.0.0.1連接慢了400倍.
2.my.ini里配置bind-address=::1時,Win7及其以上版本系統PHP用localhost連接MySQL速度是正常的,但用127.0.0.1連接又不正常了.
3.去掉bind-address配置,則用localhost或127.0.0.1連接MySQL速度都是正常的.
MySQL自身以及PHP內置的MySQL Native Driver,在Windows上也沒有什麼性能問題.

熱點內容
php靜態方法調用對象 發布:2024-05-05 19:24:30 瀏覽:366
電腦LNS伺服器地址 發布:2024-05-05 19:22:15 瀏覽:375
不屬於編譯程序組成的部分是什麼 發布:2024-05-05 19:05:34 瀏覽:613
壓縮麵食 發布:2024-05-05 18:55:45 瀏覽:804
linux的gz解壓命令 發布:2024-05-05 18:24:13 瀏覽:311
伺服器機櫃屬於什麼輻射 發布:2024-05-05 18:02:10 瀏覽:336
存儲成本計算 發布:2024-05-05 18:02:10 瀏覽:584
如何把手機改安卓10 發布:2024-05-05 17:39:07 瀏覽:498
我的世界怎麼擴容伺服器內存 發布:2024-05-05 17:19:54 瀏覽:48
java讀取文件字元 發布:2024-05-05 17:15:18 瀏覽:11