Centos6.6下PHP_CodeSniffer安装 卸载及使用实例

 更新时间:2016年11月25日 15:27  点击:2353
本文我们来讲讲 PHP_CodeSniffer 的介绍、Centos下安装、检查代码、卸载及使用实例,是一篇非常不错的教程,不可错过。

1.简介

PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查和嗅探PHP代码是否有违反一组预先设置好的编码标准的一个包,它是确保你的代码简洁一致的必不可少的开发工具,甚至还可以帮助程序员减少一些语义错误。

PHP_CodeSniffer中的编码标准是一组嗅探文件的集合,每一个嗅探文件只检查一部分编码标准。一次安装即可实现多个不同项目的编码标准的检查。PHP_CodeSniffer使用的默认的编码标准是 PEAR编码标准。

2.安装

快速安装(需要先安装php和pear)

pear install PHP_CodeSniffer

使用sublime text的同学可以直接安装插件phpcs,安装方法(Ctrl+Shift+P->pi(package install)->phpcs,安装成功后右键即可看到PHP Code Sniffer选项)
Pyrus安装

php pyrus.phar install pear/PHP_CodeSniffer

3.查看安装

[root@vb002 ~]# /usr/local/php/bin/phpcs -i
The installed coding standards are PSR1, Squiz, PHPCS, MySource, PEAR, Zend and PSR2


4.检查代码

[root@vb002 ~]# /usr/local/php/bin/phpcs /root/.jenkins/jobs/zentaotest/workspace/src/Money.php

FILE: /root/.jenkins/jobs/zentaotest/workspace/src/Money.php
----------------------------------------------------------------------
FOUND 6 ERRORS AFFECTING 6 LINES
----------------------------------------------------------------------
  2 | ERROR | Missing file doc comment
  3 | ERROR | Missing class doc comment
  5 | ERROR | Private member variable "amount" must be prefixed with
    |       | an underscore
  7 | ERROR | Missing function doc comment
 12 | ERROR | Missing function doc comment
 17 | ERROR | Missing function doc comment
----------------------------------------------------------------------

Time: 29ms; Memory: 3Mb


5.卸载安装

[root@vb002 ~]# pear uninstall PHP_CodeSniffer-2.3.3


6.使用示例

想要检查某个文件是否符合PEAR编码标准, 只需要指定文件的路径即可:

使用PHP_CodeSniffer检查文件

$ phpcs /path/to/code/myfile.php

FILE: /path/to/code/myfile.php

--------------------------------------------------------------------------------

FOUND 5 ERROR(S) AFFECTING 2 LINE(S)

--------------------------------------------------------------------------------

2 | ERROR | Missing file doc comment

20 | ERROR | PHP keywords must be lowercase; expected "false" but found "FALSE"

47 | ERROR | Line not indented correctly; expected 4 spaces but found 1

51 | ERROR | Missing function doc comment

88 | ERROR | Line not indented correctly; expected 9 spaces but found 6

--------------------------------------------------------------------------------

或者,如果你想要检查整个目录,你可以指定目录路径而不是文件路径:

使用PHP_CodeSniffer检查目录

$ phpcs /path/to/code

FILE: /path/to/code/myfile.php

--------------------------------------------------------------------------------

FOUND 5 ERROR(S) AFFECTING 5 LINE(S)

--------------------------------------------------------------------------------

2 | ERROR | Missing file doc comment

20 | ERROR | PHP keywords must be lowercase; expected "false" but found "FALSE"

47 | ERROR | Line not indented correctly; expected 4 spaces but found 1

51 | ERROR | Missing function doc comment

88 | ERROR | Line not indented correctly; expected 9 spaces but found 6

--------------------------------------------------------------------------------

FILE: /path/to/code/yourfile.php

--------------------------------------------------------------------------------

FOUND 1 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S)

--------------------------------------------------------------------------------

21 | ERROR   | PHP keywords must be lowercase; expected "false" but found

|         | "FALSE"

21 | WARNING | Equals sign not aligned with surrounding assignments

--------------------------------------------------------------------------------

php扩展有许多了而xcache配置只是php扩展中的一个比较常用的扩展了,下面我们就一起来看看php扩展xcache安装步骤吧,希望下文能够为各位带来帮助。

1、安装xcache扩展


tar -xvf xcache-3.2.0.tar.gz
 cd xcache-3.2.0
 ./configure --with-php-config=/usr/local/php/bin/php-config  --enable-xcache
 make && make install

会生成类似如下信息

[root@master xcache-3.2.0]# make install
<span style="line-height: 1.714285714;">Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/</span>

2、编辑php配置文件


vim /usr/local/php/etc/php.ini
 extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so

重启新加载php配置

service php-fpm reload

 

4、编辑XCache Cacher的配置文件


上只是企业的Xcach的功能,而XCache的具体配置需要另外定义,在安装包目录下有个”xcache.ini
可以根据该文件的内容在php.ini中添加如下内容


xcache.shm_scheme = "mmap"
xcache.size = 60M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300

本文我们告诉你一个在mac系统下,最快速度安装php的方法,不过前提是要安装Homebrew,我们也把安装Homebrew步骤一起讲进来。

先安装Homebrew

获取 Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

打开终端窗口, 粘贴以上脚本。

脚本会解释它的作用,然后在您的确认下执行安装。高级安装选项请看 这里(需要10.5)。



What Does Homebrew Do?

又提示缺少套件啦?别担心,Homebrew 随时守候。

$ brew install wget

Homebrew 会将套件安装到独立目录,并将文件软链接至 /usr/local 。

$ cd /usr/local
$ find Cellar
Cellar/wget/1.16.1
Cellar/wget/1.16.1/bin/wget
Cellar/wget/1.16.1/share/man/man1/wget.1

$ ls -l bin
bin/wget -> ../Cellar/wget/1.16.1/bin/wget

Homebrew 的所有文件均会被安装到预定义目录下,所以您无需担心 Homebrew 的安装位置。

轻松创建您的 Homebrew 程式。

$ brew create https://foo.com/bar-1.0.tgz
Created /usr/local/Library/Formula/bar.rb

以 git、 ruby 为其筋骨,所以借助您的相关知识,自由修改,并且可以简单撤回您的调改或者合并上游更新。

$ brew edit wget # 使用 $EDITOR 编辑!

Homebrew 的程式都是简单的 Ruby 脚本:

class Wget < Formula
  homepage "https://www.gnu.org/software/wget/"
  url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
  sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make", "install"
  end
end

Homebrew 使 OS X 更完美。使用 gem 来安装 gems、用 brew 来搞定那些依赖包。


正式安装php

# 添加源
brew tap josegonzalez/homebrew-php

# 一键安装php各个版本
brew install php54 php54-mcrypt
brew install php55 php55-xdebug
brew install php56

mcrypt 是 php 里面重要的加密支持扩展库,Linux环境下默认是没开启的,在某些功能时,我们需要安装mcrypt扩展才能正常访问,本文就来讲讲如何完全安装这个模块。

如果你的php站点  /var/log/httpd/error_log  中报如下错误:

PHP Fatal error:  Call to undefined function mcrypt_get_block_size() in /var/www/html/miniblog/system/classes/class_DES.php on line 40

心想必是 mcrypt没有安装

安装步骤如下:

1.查看当前  php 版本  #php -version

2.如果当前linux 中有php的源码包最好,如果没有源码包,需要去下载一个原码包,上传到服务器解压

3.确认是否已安装libmcrypt
   ldconfig -p | grep libmcrypt

  如果没有安装:
  下载地址:http://sourceforge.net/projects/mcrypt
  可以同时下载libmcrypt 和 mcrypt
  先安装libmcrypt, 默认安装目录为 /usr/local , PHP 手册建议?disable-posix-threads ,不知何故
  ./configure && make && make install
  ldconfig

  再安装mcrypt, 默认安装目录为 /usr/local
  ./configure ?with-libmcrypt-prefix=/usr/local

4. 确认是否已安装mhash
   ldconfig -p | grep mhash

   如果没有安装:
   下载地址:http://mhash.sourceforge.net/
   ./configure && make && make install
    ldconfig

5.进入源码目录,安装mcrypt模块,这一步会生成一个mcrypt.so文件
   cd php-x.x.x/ext/mcrypt
   ./configure ?with-mcrypt=/usr/local/ && make && make install

6.在/etc/php.ini最后面加上一行:extension=/usr/lib/php/modules/mcrypt.so

7.重启php    #service httpd restart


在linux下为php安装mcrypt模块

一上班,就收到研发提出网站出现“Call to undefined function mcrypt_create_iv()”
上网查下是没有安装mcrypt模块。
搜索一下,网上大多方法都是安装mcrypt模块要重新编译php,可我的系统在线运行着,不方便编译。
以下是我的处理过程:
环境:rhel 5 +php5.3,已有yum
 
#yum -y install libmcrypt libmcrypt-devel php-mcrypt php-mbstring
 
查找相关文件
#updatedb
#locate mcrypt.so
/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
 
#locate libmcrypt
/usr/local/bin/libmcrypt-config
/usr/local/lib/libmcrypt
/usr/local/lib/libmcrypt.la
/usr/local/lib/libmcrypt.so
/usr/local/lib/libmcrypt.so.4
/usr/local/lib/libmcrypt.so.4.4.8
 
有了这两个资料,就可以在php.ini上增加mcrypt模块
 
 
#locate php.ini
/usr/local/php5/lib/php.ini
 
#vi /usr/local/php5/lib/php.ini
增加两行
extension=mcrypt.so
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=
mcrypt.modes_dir=/usr/local/lib/
:wq  保存退出
 
要重启apache

本文章来为各位在linux系统中编译安装Memcached 和 Memcache 的PHP扩展,希望文章能够为各位同学带来帮助。

一:安装Memcache

1:编译安装libevent

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make
make isntall

2:编译安装memcached

wget http://www.memcached.org/files/memcached-1.4.19.tar.gz
tar -zxvf memcached-1.4.19.tar.gz
cd memcached-1.4.19
./configure -with-libevent=/usr/local/libevent/ -prefix=/usr/local/memcached
make
make install

3:启动memcached:

/usr/local/memcached/bin/memcached -d -m 64 -u root -p 11211

下面是memcached命令相关参数详情:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。

ps aux |grep memcached
clipboard

vim /etc/rc.d/rc.local 加入/usr/local/memcached/bin/memcached -d -m 64 -u root -p 11211 #加入开机启动项
telnet 127.0.0.1 11211 #检测memcache
如果出现-bash: telnet: command not found (说明未安装telnet)
直接yum install telnet

telnet set进行测试
set 对应的参数
key key 用于查找缓存值
flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time 在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes 在缓存中存储的字节点
value 存储的值(始终位于第二行)
clipboard1

二: 安装memcache的php扩展

wget http://pecl.php.net/get/memcache-3.0.8.tgz
tar -zxvf memcache-3.0.8.tgz
cd memcache-3.0.8
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so # 查看是否生成扩展so文件
-rwxr-xr-x 1 root root 422219 May 9 10:29 /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so #文件存在


vim /usr/local/php/etc/php.ini #加入扩展
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = "memcache.so"

重启php:


自己用的是nginx

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #平滑重启php

/usr/local/php/bin/php -m #查看php是否加入了memcache扩展(或者执行phpinfo函数查看是否存在memcache扩展)
已存在memcach扩展,大功告成!

[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合...2014-05-31
  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 如何使用php脚本给html中引用的js和css路径打上版本号

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、...2015-11-24
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • C#注释的一些使用方法浅谈

    C#注释的一些使用方法浅谈,需要的朋友可以参考一下...2020-06-25
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • php语言中使用json的技巧及json的实现代码详解

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识...2015-10-30
  • 使用jquery修改表单的提交地址基本思路

    基本思路: 通过使用jquery选择器得到对应表单的jquery对象,然后使用attr方法修改对应的action 示例程序一: 默认情况下,该表单会提交到page_one.html 点击button之后,表单的提交地址就会修改为page_two.html 复制...2014-06-07
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • php类的使用实例教程

    php类的使用实例教程 <?php /** * Class program for yinghua05-2 * designer :songsong */ class Template { var $tpl_vars; var $tpl_path; var $_deb...2016-11-25