php5.4教程,NETPHPJSP四種語言的特點及區(qū)別是什么?
ASP,全稱為Active Server Pages
ASP是微軟(Microsoft)所開發(fā)的一種后臺腳本語言,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把后臺腳本代碼內(nèi)嵌到HTML頁面中。雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。目前在微軟的 .Net 戰(zhàn)略中新推出的ASP.net 借鑒了Java技術(shù)的優(yōu)點,使用C Sharp (C#) 語言作為ASP.net的推薦語言,同時改進了以前ASP的安全性差等缺點。但是,使用ASP/ASP.net仍有一定的局限性,因為從某種角度來說它們只能在微軟的 Windows NT/2000/XP + IIS的服務(wù)器平臺上良好運行(雖然像ChilliSoft提供了在UNIX/Linux上運行ASP的解決方案,但是目前ASP在UNIX/Linux上的應(yīng)用可以說幾乎為0)。所以平臺的局限性和ASP自身的安全性限制了ASP的廣泛應(yīng)用。
ASP在執(zhí)行的時候,是由IIS調(diào)用程序引擎,解釋執(zhí)行嵌在HTML中的ASP代碼,最終將結(jié)果和原來的HTML一同送往客戶端。
PHP,全稱為PHP: Hypertext Preprocessor
PHP 的全名非常有趣,它是一個巢狀的縮寫名稱——“PHP: Hypertext Preprocessor”,打開縮寫還是縮寫。PHP是一種HTML 內(nèi)嵌式的語言 (就像上面講的ASP那樣)。而 PHP 獨特的語法混合了C,Java,Perl以及 PHP 式的新語法。它可以比 CGI 或者 Perl 更快速地執(zhí)行動態(tài)網(wǎng)頁。
PHP的源代碼完全公開,在 Open Source 意識抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數(shù)庫加入,以及不停地更新,使得 PHP 無論在 UNIX 或是 Win32 的平臺上都可以有更多新的功能。它提供豐富的函數(shù),使得在程式設(shè)計方面有著更好的資源。目前PHP的最新版本為4.1.1 ,它可以在Win32以及UNIX/Linux等幾乎所有的平臺上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比較傳統(tǒng) CGI 或者 ASP 等技術(shù)有了更好的表現(xiàn)。
平臺無關(guān)性是PHP的最大優(yōu)點,但是在優(yōu)點的背后,還是有一些小小的缺點的。如果在PHP中不使用ODBC,而用其自帶的數(shù)據(jù)庫函數(shù)(這樣的效率要比使用ODBC高)來連接數(shù)據(jù)庫的話, 使用不同的數(shù)據(jù)庫,PHP的函數(shù)名不能統(tǒng)一。這樣,使得程序的移植變得有些麻煩。不過,作為目前應(yīng)用最為廣泛的一種后臺語言,PHP的優(yōu)點還是異常明顯的。
JSP,全稱為Java Server Pages / Servlet
JSP和Servlet要放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應(yīng)用體系中的一部分。
Servlet的形式和前面講的CGI差不多,它是HTML代碼和后臺程序分開的。它們的啟動原理也差不多,都是服務(wù)器接到客戶端的請求后,進行應(yīng)答。不同的是,CGI對每個客戶請求都打開一個進程(Process),而Servlet卻在響應(yīng)第一個請求的時候被載入,一旦Servlet被載入,便處于已執(zhí)行狀態(tài)。對于以后其他用戶的請求,它并不打開進程,而是打開一個線程(Thread),將結(jié)果發(fā)送給客戶。由于線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現(xiàn)資源共享,這樣就減輕了服務(wù)器的負(fù)擔(dān),所以,Java Servlet可以用來做大規(guī)模的應(yīng)用服務(wù)。
雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內(nèi)嵌在HTML代碼中。但是,它的執(zhí)行方式和ASP或PHP完全不同。在JSP被執(zhí)行的時候,JSP文件被JSP解釋器(JSP Parser)轉(zhuǎn)換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節(jié)文件,這樣就由生成的Servlet來對客戶端應(yīng)答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。
由于JSP/Servlet都是基于Java的,所以它們也有Java語言的最大優(yōu)點——平臺無關(guān)性,也就是所謂的“一次編寫,隨處運行(WORA – Write Once, Run Anywhere)”。除了這個優(yōu)點,JSP/Servlet的效率以及安全性也是相當(dāng)驚人的。因此,JSP/Servlet雖然在國內(nèi)目前的應(yīng)用并不廣泛,但是其前途不可限量。
在調(diào)試JSP代碼時,如果程序出錯,JSP服務(wù)器會返回出錯信息,并在瀏覽器中顯示。這時,由于JSP是先被轉(zhuǎn)換成Servlet后再運行的,所以,瀏覽器中所顯示的代碼出錯的行數(shù)并不是JSP源代碼的行數(shù),而是指轉(zhuǎn)換后的Servlet程序代碼的行數(shù)。這給調(diào)試代碼帶來一定困難。所以,在排除錯誤時,可以采取分段排除的方法(在可能出錯的代碼前后輸出一些字符串,用字符串是否被輸出來確定代碼段從哪里開始出錯),逐步縮小出錯代碼段的范圍,最終確定錯誤代碼的位置。
JSP和ASP相比較:
運行速度、運行開銷、運行平臺、擴展性、安全性、函數(shù)支持、廠商支持、對XML的支持等等,ASP都不是JSP的對手。COM組件的復(fù)雜性實編程實現(xiàn)有一定的難度。而JavaBeans和JAVA的結(jié)合卻是天衣無縫的。
JSP和ASP.NET相比較:
1.相對C#,JSP的腳本語言JAVA也是面向?qū)ο蟮?、分布式的、解釋的語言。
2.與C#相似JAVA同樣去掉了難以理解的指針等概念,取而代之的是類和對象。
3. JSP有一項全新的技術(shù)――Servlet(服務(wù)器端程序)很好的節(jié)約了服務(wù)器資源。
4.JAVABeans是針對ASP.NET的Server Control的技術(shù)。只要會JAVA, JavaBeans就很容易寫出。
5.再有就是JAVA的JDBC數(shù)據(jù)庫連接技術(shù)。
6.JSP對XML同樣有十分廣泛的支持。
1) 面向?qū)ο笮?
ASP+將C#作為一種面向?qū)ο笳Z言,在很多方面來看,C#將成為微軟的與Java相似的語言。
C#另一個有趣的地方是所有對象都自動變成為COM對象。如果C#能取得很大的市場份額,那么它將給ASP+帶來類似于Java的功能,并且具備更快的性能,因為它可以和Windows環(huán)境緊密集成。
C# 是ASP+開發(fā)中一個最重要的功能,微軟會將C#發(fā)展成為Java的強勁對手。這也是他們.Net框架的一個重要組成部分。我認(rèn)為C#是微軟在編程市場上擊敗對手的主要工具。我期待著微軟能在這個產(chǎn)品后面傾注全力,這樣,C#可以成為許多程序員的又一種選擇。C#產(chǎn)生的結(jié)果是將進一步加固微軟和Sun產(chǎn)品的戰(zhàn)線。這對用戶是有利的,他們可以選擇兩者之一來開發(fā)新的應(yīng)用。
2) 數(shù)據(jù)庫連接:
ASP另一個亮點是它使用ADO對象,ODBC, OLE-DB和事務(wù)處理管理器。因此ASP Web數(shù)據(jù)庫應(yīng)用開發(fā)特別簡單。ASP+發(fā)展了更多的功能,因為有了ADO+!ADO+帶來了更強大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,當(dāng)新版本ASP+/ADO+出現(xiàn)后這樣的差別會更明顯。我個人希望SUN應(yīng)盡快能花大力氣來追趕ASP+/ADO+的組合。
3) 大型站點應(yīng)用:
ASP+將對大型站點(web farms)有更好的支持。事實上,微軟在這方面付出了巨大的努力。 ASP+可以讓你考慮到多服務(wù)器(multiple servers)的場合,當(dāng)你需要更強大的功能時,僅僅只需要增加一臺服務(wù)器。整個.Net框架已經(jīng)充分地提供了這個方法。ASP+提供了外部會話狀態(tài)(external session state)來提供內(nèi)置式web farm的支持。另外,由于請求的各組件相互間經(jīng)過了充分的優(yōu)化,所以速度很快。
于是ASP+現(xiàn)在可以在大型項目方面與JSP一樣具有等同的能力。 而ASP+還有價格方面的優(yōu)勢,因為所有的組件將是服務(wù)器操作系統(tǒng)的一部分。對于JSP,你需要購買昂貴的應(yīng)用服務(wù)器群來達(dá)到同樣的目的。
4) ASP+還提供更多的其它方面的新特性,例如:
*內(nèi)置的對象緩存和頁面結(jié)果緩存。
*內(nèi)置的XML支持,可用于XML數(shù)據(jù)集的簡單處理。
*服務(wù)器控制提供了更充分的交互式控制。
ASP+確實對ASP進行了較大的發(fā)展。
網(wǎng)頁游戲是不是都是用php來寫的?
網(wǎng)頁游戲并不是都用php編寫程序。網(wǎng)頁游戲需要用到以下開發(fā)工具:
1,ActionScript,游戲開發(fā)程序中較為熱門的開發(fā)工具。
2,F(xiàn)lash,網(wǎng)頁游戲開發(fā)的主力開發(fā)工具。
3,Photoshop,游戲后期畫面處理。
4,JAVA開發(fā)工具,游戲程序設(shè)計。
5,php,登陸頁面等動態(tài)頁面的輔助設(shè)計。網(wǎng)頁游戲中php只提取用戶數(shù)據(jù),登陸信息,是網(wǎng)頁游戲中的輔助型開發(fā)工具,并不是網(wǎng)頁游戲中最主要的開發(fā)程序。
phpMyAdmin使用教程?
1、第1步:打開Apache安裝目錄下conf文件夾中的httpd.conf文件,將DocumentRoot和Directory值設(shè)為"E:/xampp/htdocs"(我的XAMPP安裝在E盤)。
2、第2步:打開XAMPP控制界面,點擊【start】按鈕開啟Apache和MySQL服務(wù)。
3、第3步:當(dāng)出現(xiàn)如圖所示信息時,說明Apache和MySQL服務(wù)已成功啟動。如果啟動不成功,可能是80等端口被占用,修改端口后啟動即可。
4、第4步:打開瀏覽器,在地址欄中輸入http://www.lofty888.cn/xampp/index.php,出現(xiàn)如圖所示XAMPP的歡迎頁面(注意:Apache的目錄才能訪問該頁面)。點擊頁面左側(cè)菜單欄的phpMyAdmin選項。
5、第5步:如此,我們就進入了phpMyAdmin的管理首頁,可以進行MySQL的操作了。
php如何抓取行業(yè)詞庫?
php抓取行業(yè)詞庫的第一步是實現(xiàn)序列化,也就是按照順序去抓取字節(jié),PHP不支持永久對象,在OOP中永久對象是可以在多個應(yīng)用的引用中保持狀態(tài)和功能的對象,這意味著擁有將對象保存到一個文件或數(shù)據(jù)庫中的能力,而且可以在以后裝入對象。這就是所謂的序列化機制。PHP 擁有序列化方法,它可以通過對象進行調(diào)用,序列化方法可以返回對象的字符串表示。然而,序列化只保存了對象的成員數(shù)據(jù)而不包話方法。
第二步是構(gòu)造函數(shù),構(gòu)造函數(shù)是類中的一個特殊函數(shù),當(dāng)使用 new 操作符創(chuàng)建一個類的實例時,構(gòu)造函數(shù)將會自動調(diào)用。當(dāng)函數(shù)與類同名時,這個函數(shù)將成為構(gòu)造函數(shù)。如果一個類沒有構(gòu)造函數(shù),則調(diào)用基類的構(gòu)造函數(shù)。第三步,是分析解構(gòu)函數(shù),PHP 5 引入了析構(gòu)函數(shù)的概念,這類似于其它面向?qū)ο蟮恼Z言,如 C++。析構(gòu)函數(shù)會在到某個對象的所有引用都被刪除或者當(dāng)對象被顯式銷毀時執(zhí)行。
第四步是,遵守cookie機制進行運作,cookie 是一種在遠(yuǎn)程瀏覽器端儲存數(shù)據(jù)并以此來跟蹤和識別用戶的機制。可以用 setcookie() 或 setrawcookie() 函數(shù)來設(shè)置 cookie。cookie 是 HTTP 標(biāo)頭的一部分,因此 setcookie() 函數(shù)必須在其它信息被輸出到瀏覽器前調(diào)用,這和對 header() 函數(shù)的限制類似。可以使用輸出緩沖函數(shù)來延遲腳本的輸出,直到按需要設(shè)置好了所有的 cookie 或者其它 HTTP 標(biāo)頭。
第五步,制造比如simple dict之類的簡單工具,進行詞庫的捉取,不用安裝擴展,也不依賴 xcache memcache redis 之類的緩存。當(dāng)然也可以更復(fù)雜,采用complex,附加更多組件和程式原理。
wordpress怎樣搭建網(wǎng)站?
想要搭建個人網(wǎng)站,就需要有單獨的服務(wù)器,就在阿里云購買了臺服務(wù)器,選擇系統(tǒng)為“Ubuntu 14.04.5 LTS”,并在阿里云買了個域名(域名是為了方便記憶,否則輸入ip地址訪問網(wǎng)站很不方便),下面就使用Ubuntu系統(tǒng)搭建WordPress個人網(wǎng)站。
安裝WordPress運行環(huán)境
1.安裝Mysql數(shù)據(jù)庫
apt update
apt upgrade
apt install mysql-server
查看mysql是否安裝成功:
root@iZ2zeeg42qkecbhciml4pcZ:~# mysql --version
mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3
2.安裝PHP
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.2
apt install libapache2-mod-php7.2
apt install php7.2-mysql
apt install php7.2-fpm
查看php是否安裝成功:
root@iZ2zeeg42qkecbhciml4pcZ:~# php -v
PHP 7.2.16-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Mar 7 2019 20:42:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.16-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
3.安裝Nginx
install nginx
查看Nginx是否安裝成功:
root@iZ2zeeg42qkecbhciml4pcZ:~# nginx -v
nginx version: nginx/1.4.6 (Ubuntu)
重啟Nginx后,在瀏覽器中輸入http://阿里云服務(wù)器外網(wǎng)IP地址/
service nginx stop
service nginx start
如果圖片顯示為下圖,說明阿里云服務(wù)器自動啟動了apache2的服務(wù),apache2和nginx都使用80端口,80端口沖突。
關(guān)閉apache2的服務(wù)
重啟php7.2-fpm服務(wù)和Nginx服務(wù):
在瀏覽器中輸入http://阿里云服務(wù)器外網(wǎng)IP地址/
安裝WordPress及其配置
1.Mysql創(chuàng)建數(shù)據(jù)庫和用戶:
root@iZ2zeeg42qkecbhciml4pcZ:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.5.62-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database 數(shù)據(jù)庫名稱 character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on 數(shù)據(jù)庫名稱.* to '用戶名'@localhost identified by '用戶密碼';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
root@iZ2zeeg42qkecbhciml4pcZ:~#
2.下載WordPress并安裝:
獲取WordPress軟件:點擊此處
將下載的wordpress-5.0.3-
zh_CN.tar.gz
上傳到云服務(wù)器上安裝wordPress:
root@iZ2zeeg42qkecbhciml4pcZ:~# ls
wordpress-5.0.3-zh_CN.tar.gz
root@iZ2zeeg42qkecbhciml4pcZ:~# mv wordpress-5.0.3-zh_CN.tar.gz /var/www/
root@iZ2zeeg42qkecbhciml4pcZ:~# cd /var/www/
root@iZ2zeeg42qkecbhciml4pcZ:/var/www# ls
html wordpress-5.0.3-zh_CN.tar.gz
root@iZ2zeeg42qkecbhciml4pcZ:/var/www# tar -zxvf wordpress-5.0.3-zh_CN.tar.gz
......
root@iZ2zeeg42qkecbhciml4pcZ:/var/www# ls
html wordpress wordpress-5.0.3-zh_CN.tar.gz
root@iZ2zeeg42qkecbhciml4pcZ:/var/www# cd wordpress/
root@iZ2zeeg42qkecbhciml4pcZ:/var/www/wordpress# ls
index.php readme.html wp-admin wp-comments-post.php wp-content wp-includes wp-load.php wp-
mail.php
wp-signup.php xmlrpc.phplicense.txt
wp-activate.php wp-blog-header.php wp-config-sample.php wp-cron.php wp-links-opml.php wp-login.php wp-settings.php wp-trackback.phproot@iZ2zeeg42qkecbhciml4pcZ:/var/www/wordpress# mv wp-config-sample.php wp-
config.php
使用vim命令編輯wp-config.php:
vim wp-config.php
修改文件中的數(shù)據(jù)庫配置信息,填寫剛才創(chuàng)建的數(shù)據(jù)庫信息:
/** WordPress數(shù)據(jù)庫的名稱 */
define('DB_NAME', '數(shù)據(jù)庫名稱');
/** MySQL數(shù)據(jù)庫用戶名 */
define('DB_USER', '用戶名');
/** MySQL數(shù)據(jù)庫密碼 */
define('DB_PASSWORD', '數(shù)據(jù)庫密碼');
/**
* WordPress數(shù)據(jù)表前綴。
*
* 如果您有在同一數(shù)據(jù)庫內(nèi)安裝多個WordPress的需求,請為每個WordPress設(shè)置
* 不同的數(shù)據(jù)表前綴。前綴名只能為數(shù)字、字母加下劃線。
*/
$table_prefix = 'wp_';
在阿里云控制臺將域名解析到指定的服務(wù)器上:
控制臺->域名->解析->添加紀(jì)錄
配置服務(wù)安全組策略,將80(http)端口和443(https)端口開放:
控制臺->云服務(wù)器ECS->網(wǎng)絡(luò)和安全->安全組->配置規(guī)則
配置80端口:
配置443端口:
配置后查看內(nèi)容:
編輯Nginx配置文件:/etc/nginx/sites-available/default
client_max_body_size 10m;
server {
listen 80;
listen [::]:80;
server_name localhost; #你的域名
root /var/www/wordpress;
index index.php index.html index.htm index.nginx-debian.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
# include fastcgi.conf;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
#fastcgi_intercept_errors on;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
}
}
重啟Nginx后,在瀏覽器中輸入http://阿里云服務(wù)器外網(wǎng)IP地址/
service nginx stop
service nginx start
在瀏覽器中訪問自己的域名,查看是否成功:
到此WordPress就安裝成功了,你可以自行配制您的網(wǎng)站信息。
以上就是關(guān)于php5.4教程以及NETPHPJSP四種語言的特點及區(qū)別是什么的相關(guān)回答,有更多疑問可以加微。