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

  1. git clone https://github.com/Alexia/php7mar
    
  2. cd php7mar
    
  3. php mar.php -f=/var/www/website
    
  4. 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"*

 

您可能也會喜歡…

發佈留言