PHP進階技巧全放送

來源:互聯網
上載者:User

全球超過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、找到內容如下所示的小節:
# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
修改這些行的內容,使PHP 4.0的AddType不再成為注釋,並添加希望在PHP中使用的檔案尾碼名,上面的內容變為如下所示的內容:
# And for 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進行測試:
<? phpinfo() ?>
把這個檔案儲存到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_940f8b05a40d5119c030c9c7745aead9,這個檔案中包含註冊的對話變數以及它們的值。
用來顯示對話的作用的最常見的例子是訪問計數器。啟動PHP模組,確保PHP代碼是檔案的第一行,在PHP代碼之前不要有空格、HTML代碼和其他的代碼。因為對話會發送一個頭部,因此假如在session_start()之前有空格和HTML代碼,就會得到一個出錯資訊。
<?
// 假如還不存在一個針對某使用者的使用者,則啟動一個對話:
session_start();
然後註冊一個名字為count的變數:
session_register('count');
註冊一個對話變數後,只要對話存在,名字為count的變數也就存在。現在,count變數還沒有被賦值,假如對它執行加1操作,它的值就變為了1。
$count ;
把上述內容綜合在一塊兒,假如還沒有啟動一個對話,就會啟動一個對話;假如不存在一個對話id,就為使用者指定一個好了,註冊一個名字為$count的變數,對$count執行加1動作表示使用者已經首次訪問了該網頁。


要知道使用者在當前的對話中訪問本頁面的次數,只要顯示$count變數的值即可:
echo "<P>You've been here $count times.</p>";
全部的訪問計數器代碼如下所示:
<?
session_start();
session_register('count');
$count ;
echo "<P>You've been here $count times.</p>";
?>
假如重新載入上述的指令檔,就會發現變數count的值增加了1,很酷吧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.