phan—php语法静态检查在windows下的配置
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下的配置的更多相关文章
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- 在windows下安装配置Ulipad
在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...
- Windows下gvim配置
Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...
- Windows下MySQL配置及安全加固总结
Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- dpm-release3.1在windows下的配置
dpm-release3.1在windows下的配置 dpm是做目标检测objecjt detection的经典方法.dpm系列代码默认是在linux和mac下运行测试过的,windows下默认是不能 ...
- Tomcat7.0.22在Windows下详细配置过程
Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...
- Windows下安装配置MongoDB
Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...
- Oracle 11g即时客户端在windows下的配置
Oracle 11g即时客户端在windows下的配置 by:授客QQ:1033553122 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1. 假 ...
随机推荐
- Fragment 生命周期 事务 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- [C++基础]那些容易被混淆的概念:函数/数组指针-指针函数/数组,类/函数模板-模板类/函数
函数指针-指针函数 函数指针的重点是指针.表示的是一个指针,它指向的是一个函数.eg: int (*pf)(); 指针函数的重点是函数.表示的是一个函数,它的返回值是指针.eg: int* fun() ...
- linux shell的执行方式
./ ping.sh 这个意思 ,'./'的意思是在当前目录执行, ping.sh----------------------------------------------------------- ...
- c语言打印uint64, int64
http://stackoverflow.com/questions/9225567/how-to-print-a-int64-t-type-in-c
- 【pyhon】nvshens按目录图片批量下载爬虫1.00(多线程版)
# nvshens按目录图片批量下载爬虫1.00(多线程版) from bs4 import BeautifulSoup import requests import datetime import ...
- 从HttpServletRequest获取完整的请求路径
String url = request.getRequestURI(); // 这个方法只能获得不包含参数的请求url,且只包含相对路径 StringBuffer url_buffer = requ ...
- 解决iOS Xcode 模拟器键盘不弹出
1. 选中模拟器,在屏幕上方的菜单中找到Hardware->Keyboard 2. 直接快捷键shift+command+k
- android studio提示信息乱码解决方法
在build.gradle文件中加上 android {compileOptions.encoding = "GBK"}就好了
- windows在与time.windows.com进行同步时出错
windows在与time.windows.com进行同步时出错 CreateTime--2017年6月29日10:28:16Author:Marydon 参考地址:http://www.jb51 ...
- DBCP(一)数据源配置文件
DBCP是Apache开发的数据源API,使用的话需要导入dbcp jar包.collections jar包.pool jar包. 其数据源匹配的配置文件格式如下: #连接设置 driverCl ...