PHP7MAR:找出哪些程式不相容,PHP5 升級到 PHP7 的檢測工具
什麼是PHP遷移助手 Report(MAR)?
PHP是"php7mar"的一個工具,它為現有的PHP 5代碼生成報告,幫助開發者快速將代碼移植到 PHP 7中。 它將針對l文件或者整個項目文件夾運行。 報告包含行號。問題和建議的修復以及文檔連結。
程式要將 PHP5 升級到 PHP7,如果 DB 還是傳統 MySQL Library (mysql_*),沒有轉換成 PDO 就會比較有問題,這個是比較要注意的部分.
PHP7MAR可以幫忙掃出哪些還是舊的 PHP5 的寫法,需要轉換成 PHP7
參考網址:https://github.com/Alexia/php7mar
PHP7MAR 的程式安裝與操作
Git URL: git://www.github.com/Alexia/php7mar.git
-
git clone https://github.com/Alexia/php7mar
-
cd php7mar
-
php mar.php -f=/var/www/website
-
vim reports/2017...website.md # report 裡面很清楚
用法
首先,在命令行上輸入:
php mar.php
這將生成可用參數和轉換的列表。
典型用法如下:
php mar.php -f="/path/to/file/example.php"
或者:
php mar.php -f="/path/to/folder/example/"
這將針對範例文件或資料夾執行,並將生成的報告保存到php7mar資料夾內的reports文件夾中。當參考範例要對其運行的文件或文件夾時,建議使用完整的路徑。當然也支持相對路徑,但路徑會相對於php7mar文件夾的位置。
測試看看,使用 testcases.php 來產生報告:
php mar.php -f="testcases.php"
可用選項:
-F
要執行的文件或文件夾的路徑。
用於生成報告的文件或文件夾的位置。 建議使用完整的路徑。當然也支持相對路徑,但路徑會相對於php7mar文件夾的位置。
*Example: -f="/path/to/folder"*
-r
保存報告的文件夾的路徑。
保存最終報告的位置。 預設狀況下,這會保存到php7mar文件夾中的 reports/ 文件夾中。 建議使用完整的路徑。當然也支持相對路徑,但路徑會相對於php7mar文件夾的位置。
*Example: -r="/path/to/folder"*
-t
要執行的測試類型。
預設狀況下,所有測試都將運行 此選項允許使用逗號分隔列表選擇測試。 參數有三種:critical, nuance, and syntax.。
*Example: -t="syntax,nuance"*
-X
要處理的文件副檔名列表。
預設狀況下會處理 *.php 檔案。
*Example: -x="php,inc"*
–php
用於檢查PHP二進製的語法的檔案路徑。
如果未使用此選項,語法檢查將使用預設的PHP安裝來測試語法。
*Example: --php="/path/to/php/binary/php"*