溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

復(fù)習(xí)PHP-特點(diǎn)

發(fā)布時(shí)間:2020-08-10 20:46:08 來源:網(wǎng)絡(luò) 閱讀:412 作者:qzd1989 欄目:web開發(fā)

1.HTTP認(rèn)證 如果WEB服務(wù)器是APACHE環(huán)境的話,那么可以開啟HTTP認(rèn)證,具體方式為: http://www.php.net/manual/zh/features.http-auth.php

提示:發(fā)現(xiàn)一個(gè)有用的函數(shù):uniqid(),根據(jù)當(dāng)前微秒生成唯一ID。 聽網(wǎng)友說 SVN認(rèn)證就是APACHEHTTP認(rèn)證控制的,挺好。

2.COOKIE setcookie/setrawcookie 主要用于跟蹤遠(yuǎn)程用戶的信息,但不可以此為判斷依據(jù),因?yàn)榭蓚卧臁?

3.SESSION 同樣不可用此為判斷依據(jù),可以從HTTP層用抓包工具抓到。 (將就用吧)

4.XFORMS 可用于多種瀏覽器和平臺(tái),甚至PDF,目前還有很多瀏覽器不支持,所以了解即可 http://www.php.net/manual/zh/features.xforms.php

5.文件上傳處理 提示:可以在表單中添加max_file_size來設(shè)置允許的最大值,雖然它可以被簡(jiǎn)單繞過,但是對(duì)于普通用戶來說,可以快速檢測(cè)文件大小,這樣更人性化。 表單屬性必須為:enctype="multipart/form-data" 提示:文件上傳后,臨時(shí)文件會(huì)被默認(rèn)存在服務(wù)端默認(rèn)臨時(shí)目錄中,也可以在PHP.INI中設(shè)置 upload_tmp_dir is_upload_file可以保證用戶是通過HTTP POST了文件而不是虛假的POST變量。 move_upload_file移動(dòng)啊,不多說了

error說明: 0成功 1上傳的文件超過了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。 2上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。 3文件只有部分被上傳。沒有文件被上傳。 4沒有文件被上傳。 6找不到臨時(shí)文件夾。 7文件寫入失敗。 注意這些數(shù)字所對(duì)應(yīng)的常量。 ------(來自PHP手冊(cè))

服務(wù)端的默認(rèn)臨時(shí)目錄可以通過更改 PHP 運(yùn)行環(huán)境的環(huán)境變量 TMPDIR 來重新設(shè)置,但是在 PHP 腳本內(nèi)部通過運(yùn)行 putenv() 函數(shù)來設(shè)置是不起作用的。該環(huán)境變量也可以用來確認(rèn)其它的操作也是在上傳的文件上進(jìn)行的。 常見問題: 對(duì) MAX_FILE_SIZE 設(shè)置的值,不能大于 ini 設(shè)置中 upload_max_filesize 選項(xiàng)設(shè)置的值。其默認(rèn)值為 2M 字節(jié)。 如果內(nèi)存限制設(shè)置被激活,可能需要將 memory_limit 設(shè)置的更大些,請(qǐng)確認(rèn) memory_limit 的設(shè)置足夠的大。 如果 max_execution_time 設(shè)置的值太小,腳本運(yùn)行的時(shí)間可能會(huì)超過該設(shè)置。因此,也請(qǐng)保證 max_execution_time 足夠的大。 max_input_time 以秒為單位設(shè)定了腳本接收輸入的最大時(shí)間,包括文件上傳。對(duì)于較大或多個(gè)文件,或者用戶的網(wǎng)速較慢時(shí),可能會(huì)超過默認(rèn)的 60 秒。 如果 post_max_size 設(shè)置的值太小,則較大的文件會(huì)無法被上傳。因此,請(qǐng)保證 post_max_size 的值足夠的大。 也可以檢查php://put 提取辦法還有copy函數(shù),具體再查閱。如果開啟了allow_url_fopen 則可以遠(yuǎn)程include http 或者ftp的文件 能fopen遠(yuǎn)程文件中得到啟發(fā),用該技術(shù)來存儲(chǔ)遠(yuǎn)程日志文件。但是正如以上提到的,在用 fopen() 方式打開的 URL 中,僅能對(duì)新文件進(jìn)行寫操作。如果遠(yuǎn)程文件已經(jīng)存在則 fopen() 函數(shù)的操作將會(huì)失敗。要做類似于分布式日志的事,可以參考 syslog() 函數(shù)。

6.connection_status():

  • 0 - NORMAL(正常)

  • 1 - ABORTED(異常退出)

  • 2 - TIMEOUT(超時(shí))

7.數(shù)據(jù)庫永久連接

好處是:頻繁讀取時(shí)速度快,壞處是,如果有一個(gè)連接請(qǐng)求發(fā)生阻塞,那所有人都將受到影響

8.xdebug

xdebug_start_trace(dirname(__FILE__) . '/trace');  
代碼  
xdebug_stop_trace();  
這樣就在本腳本的同級(jí)生成了一個(gè)trace文件,里面顯示運(yùn)行耗時(shí). (比較有用)

9.cli模式常用于定時(shí)執(zhí)行,比游覽器執(zhí)行快

10.垃圾回收機(jī)制 gc

判斷變量引用計(jì)數(shù):xdebug_debug_zval('變量名')

注意ini zend.enable_gc = on 開啟(默認(rèn)是開啟的),不然變量沒回收,超出根緩沖區(qū),內(nèi)存就會(huì)溢出,enable_gc(),disable_gc()是在腳本里開啟,同樣,在垃圾未滿時(shí),也可以通過gc_collect_cycles()強(qiáng)制回收.

提示:memory_get_usage()會(huì)返回分配給當(dāng)前PHP腳本的大小(有用啊 可以查看內(nèi)存占用情況 http://www.php.net/manual/zh/features.gc.performance-considerations.php)

11.dtrace

沒看懂 =.=

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI