php7推出了语法树,于是静态语法分析更方便了。(可以直接下载我配置好的,传送门百度网盘

1、先安装php7,到http://windows.php.net/下载php7带openssl的。

2、修改php.ini,

extension=php_openssl.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
extension=php_pdo_sqlite.dll

前面的分号去掉,这一步是为了安装composer。

3、安装composer,我安装失败,直接下载composer.phar

新建一个批处理composer.bat

@echo off
"%~dp0php.exe" "%~dp0composer.phar" %*

修改composer源为中国镜像,

composer config -g repo.packagist composer http://packagist.phpcomposer.com

4、安装php_ast模块,phan需要,把dll放到ext目录,

extension增加一行

extension=php_ast.dll

5、安装phan

打开命令行切换到php7的目录,运行

composer require --dev "etsy/phan:dev-master"

phan的详细使用可参考

https://github.com/etsy/phan

6、分析项目

新建一个批处理,比如,先分析F:\work\src下的php代码,再用sed删除没有用的提示。

@echo off
set src=F:\work\src
set phIn=%src%\phan_in.txt
set phOut=%src%\phan_out.txt
find %src% -type f -name "*.php" > %phIn%
phan -f %phIn% -o %phOut%
sed -i "/\Phalcon/d" %phOut%
sed -i "/redis/d" %phOut%
sed -i "/memcached/d" %phOut%
sed -i "/vendor/d" %phOut%
echo "语法检查已完成,请查看%phOut%"
@pause

find和sed在windows下没有,不过有native的port,不需要cygwin和mingw

下载http://sourceforge.net/projects/unxutils/files/latest/download

http://unxutils.sourceforge.net/UnxUpdates.zip

解压后,用UnxUpdates覆盖UnxUtils\usr\local\wbin,取出sed和find即可。

7、可以为phan新建批处理和phan目录平级,phan.bat

@echo off
"%~dp0php.exe" "%~dp0phan\phan" %*

把php.exe所在目录放入环境变量PATH里,这样可以配置一些ide,调用phan.bat检查当前代码。

phan—php语法静态检查在windows下的配置的更多相关文章

  1. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  2. 在windows下安装配置Ulipad

    在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...

  3. Windows下gvim配置

    Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...

  4. Windows下MySQL配置及安全加固总结

    Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...

  5. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  6. dpm-release3.1在windows下的配置

    dpm-release3.1在windows下的配置 dpm是做目标检测objecjt detection的经典方法.dpm系列代码默认是在linux和mac下运行测试过的,windows下默认是不能 ...

  7. Tomcat7.0.22在Windows下详细配置过程

    Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...

  8. Windows下安装配置MongoDB

    Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...

  9. Oracle 11g即时客户端在windows下的配置

    Oracle 11g即时客户端在windows下的配置 by:授客QQ:1033553122 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1. 假 ...

随机推荐

  1. Centos7 安装pycharm

    可以通过浏览器访问http://www.jetbrains.com/pycharm/,选择需要下载的版本,也可以通过wget下载可执行程序. [root@localhost ~] wget https ...

  2. JVisualVM简介与内存泄漏实战分析

    JVisualVM简介与内存泄漏实战分析 学习了:https://blog.csdn.net/kl28978113/article/details/53817827

  3. ActiveReport开发入门-图表的交互性

    继续上一篇ActiveReport开发入门-列表的交互性文章,这次我们说一下图表的交互性,那么我们就开始吧 首先:说一下,如果单单的使用按钮栏和图表是满足不了的,因为图表在Active中是有些特别的, ...

  4. 飘逸的python - 不使用keyword,求和1+2+…+n

    依据题意,我们不能用到if/else/for/while等keyword. --------------思考中------------ 思路: 1.用递归实现循环 2.递归的终止条件不用if怎么推断呢 ...

  5. 我的第一段ionic代码

    ionic是基于angularjs的前端框架,用于实现移动app. 下面是第一段代码,先贴代码,有时间再整理: demo1.htm <!DOCTYPE html> <html ng- ...

  6. 在linux下安装mysql

    1.下载mysql 下载地址: http://dev.mysql.com/downloads/mysql/5.5.html#downloads 2.进入系统后,检测是否安装mysql #rpm -qa ...

  7. 链表的游标(cursor)实现

    诸如BASIC和FORTRAN等许多语言都不支持指针.如果需要链表而又不能使用指针,这时我们可以使用游标(cursor)实现法来实现链表. 在链表的实现中有两个重要的特点: 数据存储在一组结构体中.每 ...

  8. java反射-获取方法信息

    例子代码如下: package com.reflect; import java.lang.reflect.Method; public class ClassUtill { /* * 打印类的信息, ...

  9. JDBC 增删改查代码 过滤查询语句

    package test; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; i ...

  10. Linux命令-用户管理命令:useradd,passwd,who,w

    who 查看登录用户 w 查看登录用户详细信息