糯米文學吧

位置:首頁 > 計算機 > 計算機四級

PHP面試題及答案

PHP是一種通用開源腳本語言,下面是本站小編為大家搜索整理的關於PHP面試題及答案題,歡迎參考閲讀,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!

PHP面試題及答案

  練習題

1. echo count(“abc”); 輸出什麼?

答案:1

2. 用PHP代碼寫出顯示客户端IP與服務器IP的代碼。

答案:客户端 getenv(‘REMOTE_ADDR’); 服務器端 getenv(‘SERVER_ADDR’);

// gethostbyname(“”);

3. error_reporting(2047)什麼作用?

答案:相當於 error_reporting(‘E_ALL’); 輸出所有的錯誤。

4.如何實現PHP、JSP交互?

答案: 題目有點含糊不清,SOAP,XML_RPC,Socket function,CURL都可以實現這些,如果是考PHP和Java的整合,PHP內置了這種機制(如果考PHP和的整合,也可以這麼回答), 例如$foo = new Java(‘em’);

5. 打開中的Safe_mode,會影響哪些參數?至少説出6個。

答案:此模塊打開時,php將檢查當前腳本的擁有者是否和受操作文件的擁有者相同,因此,將影響文件操作類函數,程序執行函數(program Execution Functions)。這些函數有info,basename,fopen,system,exec,proc_open 等函數;

6. 請寫一個函數驗證電子郵件的格式是否正確(要求使用正則)。

function checkEmail($mail){

$reg = ‘/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/’;

$rst = preg_match($reg , $mail);

if($rst){

return TRUE;

}else {

return FALSE;

} }

7. 寫個函數用來對二維數組排序。

答案:array_multisort() 。

8、優化MYSQL數據庫的方法。

答案:(1).數據庫設計方面,這是DBA和Architect的責任,設計結構良好的數據庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分數據宂餘,避免JOIN操作,以提高查詢效率。

(2).系統架構設計方面,表散列,把海量數據散列到幾個不同的表裏面.快慢表,快表只留最新數據,慢表是歷史存檔.集羣,主服務器Read & write,從服務器read only,或者N台服務器,各機器互為Master。

(3).(1)和(2)超越PHP programmer的要求了,會更好,不會沒關係.檢查有沒有少加索引。

(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有limit等等.必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程裏面.緩存查詢結果,explain每一個sql語句。

(5).所得皆必須,只從數據庫取必需的數據,比如查詢某篇文章的評論數,select count(*) … where article_id = ? 就可以了,不要先select * … where article_id = ?然後msql_num_rows. 只傳送必須的SQL語句,比如修改文章的時候,如果用户只修改了標題,那就… set title = ? where article_id = ?不要set content = ?(大文本)。

(6).必要的時候用不同的存儲引擎,比如InnoDB可以減少死鎖,HEAp可以提高一個數量級的查詢速度。

  練習題二

1.請寫出PHP5權限控制修飾符。

答案:private protected public。

2.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?

答案:首先,確認服務器硬件是否足夠支持當前的流量。

其次,優化數據庫訪問。

第三,禁止外部的盜鏈。

第四,控制大文件的'下載。

第五,使用不同主機分流主要流量 第六,使用流量分析統計軟件。

3.在HTTP 1.0中,狀態碼 401 的含義是?;如果返回"找不到文件"的提示,則可用 header 函數, 其語句是?

答案:401的含義是未授權。

header(“HTTp/1.0 404 Not Found”);———找不到文件

header(“HTTp/1.1 403 Forbidden”);———不允許訪問

4.以Apache模塊的方式安裝PHP,在文件中首先要怎樣動態裝載PHP模塊,然後再用什麼語句使得Apache把所有擴展名為php的文件都作為PHP腳本處理。

答案:動態裝載PHP模塊:LoadModule php5_module "c:/php/"

把所有擴展名為php的文件都作為pHp腳本處理: AddType application/x-httpd-php-source AddType application/x-httpd-php 5 4 3 l

5.類的屬性可以序列化後保存到 session 中,從而以後可以恢復整個類,這要用到的函數是?

答案:serialize() /unserialize()。

6.一個函數的參數不能是對變量的引用,除非在中把什麼模塊設為on。

答案:allow_call_time_pass_reference。

標籤:面試題 PHP