php-ast在phpinfo中可见,但在php -m中不可见(尝试安装phan)

时间:2019-04-12 00:59:48

标签: php php-7.3

php-ast中列出了phpinfo(),但是在运行$ php -m列出模块时却没有列出?

正在安装静态分析器phan。我使用MAMP Pro,并已验证$ which php在MAMP中返回了所需的php版本。我已经更新了php.ini文件,并且运行phpinfo()会按预期显示AST。

当我运行vendor/bin/phan而没有该标志时,我仍然得到警告,应该安装AST。

我已经使用标志运行了一次,以使用polypill解析器,而phan可以正常工作。

enter image description here

enter image description here

注意:在其他地方使用--with-config-file-path的答案似乎对我不起作用,因为我获得了有效的PHP控制台命令的列表,但它不是其中之一:PHP module is shown in phpinfo(), but not php -m

1 个答案:

答案 0 :(得分:0)

我最好的猜测是,您需要先安装ast扩展程序。

这是我做的

  1. 按照此post
  2. 中的说明安装PEAR

基本上是两个命令

curl -O https://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar

请注意,我已将URL更新为使用https

我只是在安装PEAR时就确认了默认配置,希望它不会干扰MAMP在正常操作中具有一些额外的目录。

  1. pecl.php.net下载ast,因为我无法使pecl install ast工作,也许它对您有用。然后,您需要运行sudo pear install [path-to-downloaded-ast.tgz],用下载位置替换文件路径。

  2. 像以前一样编辑php.ini,添加扩展名。

结果应该是这个

$ php -m

[PHP Modules]
ast
...