首頁 後端開發 php教程 PHP的十個進階技巧_PHP編程

PHP的十個進階技巧_PHP編程

Jun 28, 2017 pm 03:35 PM
php 技巧 程式設計

 
全球超過300萬個網路網站的管理員都在使用PHP,使得它成為最普及的伺服器端腳本語言之一。其特點是運行速度快、穩定可靠、跨平台,而且是開放原始碼軟體。隨你使用的程度不同,PHP可以很簡單,也可以很複雜,可以只使用它發送HTML表格元素,還可以在PHP應用程式中整合Java和XML。 

  如果你對PHP有一定的了解或看過一些初步的教材,這些技巧可以擴展你對PHP的認識,使你掌握一些常見的和高級的PHP功能。

一、把PHP安裝為Apache的DSO 
  PHP在Linux/Unix平台上經常與Apache搭配使用,安裝PHP時,有三種安裝方式可供選擇:靜態模式、動態模式( DSO)、CGI二進位模式。 

  由於易於維護和升級,我強烈建議以DSO方式安裝PHP。例如,初次安裝時如果安裝的PHP僅支援資料庫,隨後希望再安裝支援加密的模組,只要運行“make clean”,添加新的設定選項,然後再運行“make”和“make install”即可,一個新的PHP模組就會安裝在Apache中適當的位置上,然後重新啟動Apache,而無需重新編譯Apache。

  以下的步驟將安裝一個全新的Apache,並以DSO方式安裝PHP: 

  1、從Apache軟體基金會得到最新版本的Apache原始碼; 

# 2、把得到的原始碼放到/usr/local/或/opt/目錄下,或是你指定的任意目錄中; 

  3、執行Gunzip對檔案進行解壓縮,得到後綴為.tar的檔案; 

  4、執行下面的指令,把檔案安裝到apache_[version]目錄中: 

   tar -xvf apache_[version].tar 
##  5、」進入/usr/local/apache_[version]目錄(或在步驟4安裝壓縮檔的目錄); 

  6、鍵入下面的指令為編譯Apache作準備,用你自己的路徑替換其中的[path],例如,/usr/local/apache[version],現在已經設定了mod_so的新值,它將允許Apache使用DSO模組; 

  7、回到提示符號狀態後鍵入make,並等待再次回到提示符號狀態; 

  8、執行「make install」指令。 

  至此,Apache已經安裝完畢,系統將會回到提示符號狀態。接下來我們開始安裝PHP: 

  1、在PHP首頁的下載區中找到最新版本的連結; 

  2、把
檔案下載到適當的目錄中,例如/usr/local/或/opt/或你指定的任意目錄中; 
#  3、執行Gunzip對檔案解壓縮,得到後綴為.tar的檔案; 

# 4.執行下面的指令把檔案安裝在php-[version]目錄中: 

   tar -xvf php-[version] 

#  5、進入/usr/local/php-[version ]目錄或在步驟4中指定的目錄; 

  至此,已經作好了以DSO方式安裝PHP的
準備工作,唯一需要修改的設定選項是with-apxs(這是Apache的bin目錄中的一個檔案)。為了得到較高的效能,我沒有安裝對MySQL的支援模組。
  ./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs] 

  6、回到提示符號狀態後執行make指令,等待重新返回提示符號狀態; 

  7、執行make install指令。 

  至此,系統以DSO方式在Apache的模組目錄中安裝了PHP,並對Apache的httpd.conf檔作適當的修改後回到提示符號狀態。回到提示符號狀態後,你還需要對Apache的httpd.conf檔做一些修改。

  1、找到包含有ServerAdmin的一行,加入你的電子郵件地址,如下: 

   ServerAdmin you@yourdomain.com 

  2、找到以ServerName開頭的行,把它改為真正的值,例如: 

   ServerName localhost 

  3、找到內容如下所示的小節: 

 for# And , use: 

  # 

  #AddType application/x-httpd-php .php 

  #AddType application/x-httpd-php- ##  修改這些行的內容,使PHP 4.0的AddType不再成為註釋,並添加希望在PHP中使用的文件後綴名,上面的內容變為如下所示的內容: 

  # And forforforfor PHP 4.x, use: 

  # 

AddType application/x-httpd-php .php .phtml 

#  AddType application/x-httpd-php-source .phps 

#  保存檔案,回到上一層目錄,執行下面的命令重新啟動Apache: 

  ./bin/apachectl start 

  如果在啟動時沒有出現錯誤提示訊息,就可以透過建立一個名為phpinfo.php的只有如下所示一行內容​​的文件,對安裝的Apache、PHP進行測試: 

   

  把這個檔案儲存到Apache的文檔根目錄(htdocs)中,然後開啟瀏覽器,鍵入http://localhost/phpinfo.php位址,螢幕上就會出現許多的變數和它們的值。

  如果要重新設定PHP,需要再次執行make clean指令,然後執行有一系列選項的./configure指令,然後再執行make和make install指令,Apache的目錄模組中就會出現一個新的模組,只要再重新啟動Apache載入這個新的模組,就一切OK了。

二、使用PHP本身的對話 
  PHP 4.0中最令人期待的特性應該是對話的支持,PHP 3.0的使用者必須使用第三方的軟體否則就不能使用對話,不支持對話一直是PHP最大的缺點之一。 

  只要使用者在瀏覽你的網站,你就可以利用對話來維護與特定使用者相關的變量,而無需建立多個cookie、使用隱藏表格欄位或將資訊儲存在資料庫中。

  在一個網頁上啟動一個對話,就會讓PHP引擎知道你想啟動一個對話(如果還沒啟動)或繼續目前的對話: 

session_start(); 

  啟動一個對話將透過cookie向使用者發送一個識別字串(例如940f8b05a40d5119c030c9c7745aead9),在伺服器端,會建立一個與識別字串相符的臨時檔案,例如sess_940f8515a40d註冊的對話變數以及它們的值。 

  用來顯示對話的作用的最常見的例子是存取計數器。啟動PHP模組,確保PHP程式碼是檔案的第一行,在PHP程式碼之前不要有空格、HTML程式碼和其他的程式碼。因為對話會傳送一個頭部,所以如果在session_start()之前有空格和HTML程式碼,就會得到一個出錯訊息。

  
#  // 如果還不存在一個針對某用戶的用戶,則啟動一個對話: 

#  session_start(); 

    session_start(); 

   然後  然後註冊一個名字為count的變數: 

  session_register('count'); 

  註冊對話變數後,只要對話存在,名字為count的變數也就存在。現在,count變數還沒有被賦值,如果對它執行加1操作,它的值就變成了1。

  $count++; 

  把上述內容綜合在一塊兒,如果還沒有啟動一個對話,就會啟動一個對話;如果不存在一個對話id,就為用戶指定一個好了,註冊一個名字為$count的變量,對$count執行加1操作表示用戶已經首次訪問了該網頁。

  要知道使用者在目前的對話中存取本頁面的次數,只要顯示$count變數的值即可: 

  echo "

You've been here $count times .

"; 
##  全部的存取計數器代碼如下所示: 

  
  session_start()ister 'count'); 

  $count++; 

#  echo "

You've been here $count times.

";  #here $count times.

";  #here $count times.

";  # ? ; 

  如果重新載入上述的腳本文件,就會發現變數count的值增加了1,很酷吧。

  也可以在對話中註冊一個數組變量,假設我們註冊了一個名字為$faves的變數: 

  $faves = array ('chocolate','coffee','beer' ,'linux'); 

  可以像註冊一個簡單變數那樣註冊一個陣列變數: 

  session_register('faves'); 

  session_register('faves'); 

  session_register('faves'); 

  當變數與引用簡單變數沒有什麼二樣,如果一個使用者在網頁上指出在生活中的愛好時,可以把他的愛好註冊到一個被稱作$faves的數組變數中,然後可以在另一個網頁中很方便地把這些愛好顯示出來: 

  
  session_start(); 
###echo "My user likes: 

  
    "; 

      while (list(,$v) = each ($faves)))#{  #list(,$v) = each ($faves))# #&〠 li>$v"; } 

      echo "
"; 

  ?> 

#  然後你就得到了一個關於使用者的嗜好清單。

  對話變數不能被查詢字串覆蓋,也就是說我們不能輸入http:///www.yourdomain.com/yourscript.php?count=56給註冊變數$count指定一個新值,這一點對於安全性很重要:只能在伺服器端的腳本中刪除一個沒有註冊的對話變數。

  如果要完全刪除一個對話變量,首先需要從系統中註銷它: 

  session_unregister('count'); 

  要完全刪除一個對話變數的腳本是刪除一個對話變數的腳本是非常簡單,如下所示: 

  session_destroy(); 

  使用對話變數可以減少存取資料庫的頻率,使程式碼更加清晰,而且可以減少對使用者發送的cookie的數量,它是最簡單的方法了。


目前1/3頁 

1

23下一頁閱讀全文#

以上是PHP的十個進階技巧_PHP編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

使用 Python 解決問題:作為初學者,解鎖強大的解決方案 使用 Python 解決問題:作為初學者,解鎖強大的解決方案 Oct 11, 2024 pm 08:58 PM

Python 讓初學者能夠解決問題。

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

See all articles