由於 php-ast 嘗試運行 phan 2.x 時發生錯誤

由於 php-ast 嘗試運行 phan 2.x 時發生錯誤

我找不到有關“錯誤:Phan 2.x 需要 php-ast 1.0.1+,因為它依賴 AST 版本 70。已安裝 php-ast 0.1.6”的解決方案。

root@desk:/mnt/d/ibr/phan$ ./phan
ERROR: Phan 2.x requires php-ast 1.0.1+ because it depends on AST version 70. php-ast 0.1.6 is installed.
Exiting without analyzing files.

答案1

官方 PHP 儲存庫中的 AST 版本太舊,無法與 phan 一起使用。您在這裡有 2 個選擇:

  1. 運行 phan with --allow-polyfill-parser parameter,這明顯慢一些,但無需安裝擴充功能即可工作。

  2. 從 pecl 安裝 ast。

    對於 Ubuntu 18.04 我必須這樣做:

    sudo apt install php7.2-dev php-pear
    sudo pecl install ast`
    sudo phpenmod ast
    

    對於非基於 Debian 的發行版,您需要安裝phpize並以 rootpecl身份運行pecl install ast,然後編輯 php.ini 以添加extension=ast.so

相關內容