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. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes

    在进行Hive集成Mysql作为元数据过程中.做全然部安装配置工作后.进入到hive模式,运行show databases.运行正常,接着运行show tables:时却报错. 关键错误信息例如以下: ...

  2. Nginx安装部署(反向代理与负载均衡)

    一.下载安装Nginx(本文环境为windows xp 32bit环境) 下载地址:http://files.cnblogs.com/likehua/nginx-1.0.11.zip 解压nginx- ...

  3. mybatis select/insert/update/delete

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  4. 怎样获取oracle dbid

    1.查询v$database获得 因为DBID在控制文件和数据文件里都存在记录,所以假设可以mount数据库就行查询v$database视图获得.  SQL> alter database mo ...

  5. JDBC 数据库连接池的简单实现

    连接池代码: public class MyDataSource2{     private static String url = "jdbc:mysql://localhost:3306 ...

  6. SuperMap iObjects for Spark使用

    本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 1. 基础环境搭建 基础环境搭建 ...

  7. ubuntu下apache和mysql的命令

    // Apache //Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start //or $ sudo /etc/ini ...

  8. c# 操作Word总结

    在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...

  9. moment

    var now = moment(1410181234567)var formatted = now.format('YYYY-MM-DD HH:mm:ss')console.log(formatte ...

  10. C# 基础: new 和 overrider 的区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...