原创 如何獲取PHP命令行參數

使用 PHP 開發的同學多少都會接觸過 CLI 命令行。經常會有一些定時任務或者一些腳本直接使用命令行處理會更加的方便,有些時候我們會需要像網頁的 GET 、 POST 一樣爲這些命令行腳本提供參數。比如在針對某些日期做統計的腳本,就需要傳

原创 簡單學習PHP中的層次性能分析器

在 PHP 中,我們需要進行調試的時候,一般都會使用 memory_get_usage() 看下內存的使用情況。但如果想看當前的腳本 CPU 的佔用情況就沒有什麼現成的函數了。不過,PHP 也爲我們提供了一個擴展:XHProf ,這是由 F

原创 簡單學習PHP中的層次性能分析器

在 PHP 中,我們需要進行調試的時候,一般都會使用 memory_get_usage() 看下內存的使用情況。但如果想看當前的腳本 CPU 的佔用情況就沒有什麼現成的函數了。不過,PHP 也爲我們提供了一個擴展:XHProf ,這是由 F

原创 關於當前PHP腳本運行時系統信息相關函數 https://www.php.net/manual/zh/function.getlastmod.php

我們的 PHP 在執行的時候,其實可以獲取到非常多的當前系統相關的信息。就像很多開源的 CMS 一般會在安裝的時候來檢測一些環境信息一樣,這些信息都是可以方便地動態獲取的。 腳本文件運行時的系統用戶相關信息 首先,我們來看看獲取當前系統相關

原创 一些PHP選項參數相關的函數

關於 PHP 的配置,我們大多數情況下都是去查看 php.ini 文件或者通過命令行來查詢某些信息,其實,PHP 的一些內置函數也可以幫助我們去查看或操作這些配置參數。比如之前我們學習過的 關於php的ini文件相關操作函數淺析 。修改方面

原创 PHP腳本設置及獲取進程名 https://www.php.net/manual/zh/function.cli-get-process-title.php

今天來學習的是兩個非常簡單的函數,一個可以用來設置我們執行腳本時運行的進程名。而另一個就是簡單的獲取當前運行的進程名。這兩個函數對於大量的腳本運行代碼有很大的作用,比如我們需要 kill 掉某個進程時,可以直接使用我們自己定義的進程名來進行

原创 一起學習PHP中斷言函數的使用

原來一直以爲斷言相關的函數是 PHPUnit 這些單元測試組件提供的,在閱讀手冊後才發現,這個 assert() 斷言函數是 PHP 本身就自帶的一個函數。也就是說,我們在代碼中進行簡單的測試的時候是不需要完全引入整個單元測試組件的。 as

原创 使用OPCache提升PHP的性能

對於 PHP 這樣的解釋型語言來說,每次的運行都會將所有的代碼進行一次加載解析,這樣一方面的好處是代碼隨時都可以進行熱更新修改,因爲我們不需要編譯。但是這也會帶來一個問題,那就是無法承載過大的訪問量。畢竟每次加載解析再釋放,都會增加 CPU

原创 PHP中的輸出緩衝控制

在 PHP 中,我們直接進行 echo 、 或者 print_r 的時候,輸出的內容就會直接打印出來。但是,在某些情況下,我們並不想直接打印,這個時候就可以使用輸出緩衝控制來進行輸出打印的控制。當然,這一套功能並不僅限出針對打印的內容,我們

原创 PHP中的輸出緩衝控制

在 PHP 中,我們直接進行 echo 、 或者 print_r 的時候,輸出的內容就會直接打印出來。但是,在某些情況下,我們並不想直接打印,這個時候就可以使用輸出緩衝控制來進行輸出打印的控制。當然,這一套功能並不僅限出針對打印的內容,我們

原创 關於php的ini文件相關操作函數淺析 https://www.php.net/manual/zh/configuration.changes.modes.php

在小公司,特別是創業型公司,整個服務器的搭建一般也是我們 PHP 開發工程師的職責之一。其中,最主要的一項就是要配置好服務器的 php.ini 文件。一些參數會對服務器的性能產生深遠的影響,而且也有些參數是可以在 PHP 運行時動態指定和獲

原创 動態查看及加載PHP擴展 https://www.php.net/manual/zh/function.dl.php

在編譯並完成 php.ini 的配置之後,我們就成功的安裝了一個 PHP 的擴展。不過, PHP 也爲我們提供了兩個在動態運行期間可以查看擴展狀態以及加載未在 php.ini 中進行配置的擴展的函數。下面,我們就來看看它們的使用。 查看是否

原创 PHP中的數據庫連接持久化 https://www.php.net/manual/zh/features.persistent-connections.php

數據庫的優化是我們做web開發的重中之重,甚至很多情況下其實我們是在面向數據庫編程。當然,用戶的一切操作、行爲都是以數據的形式保存下來的。在這其中,數據庫的連接創建過程有沒有什麼可以優化的內容呢?答案當然是有的,Java等語言中有連接池的設

原创 PHP垃圾回收機制的一些淺薄理解 https://www.cnblogs.com/lovehappying/p/3679356.html

相信只要入門學習過一點開發的同學都知道,不管任何編程語言,一個變量都會保存在內存中。其實,我們這些開發者就是在來回不停地操縱內存,相應地,我們如果一直增加新的變量,內存就會一直增加,如果沒有一個好的機制,那麼內存就會無限制地增加最終撐滿所有

原创 PHP多文件上傳格式化 https://www.php.net/manual/zh/features.file-upload.php

文件上傳是所有web應用中最常見的功能,而PHP實現這一功能也非常的簡單,只需要前端設置表單的 enctype 值爲 multipart/form-data 之後,我們就可以通過 $_FILES 獲得表單中的 file 控件中的內容。 同時