由于 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 --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 发行版,您需要安装phpizepeclpecl install ast以 root 身份运行,然后编辑 php.ini 以添加extension=ast.so

相关内容