PHP-Parser是一个用来格式化PHP代码的好工具,比如被混淆过的PHP代码,可以通过PHP-Parser快速格式化。
PHP-Parser可以在https://github.com/nikic/PHP-Parser/releases这里获取到,比如我这次下载的4.1.0的版本。
不过要记住,必须安装PHP7.0以上的版本才满足使用条件,可以从composer.json文件看到这个条件。(如果下载的PHP-Parser是以前较低的版本,可能PHP5的环境也能满足,主要看composer.json这个文件的要求。可以根据自己当前的PHP版本决定下载哪个版本的PHP-Parser)
可以在命令行执行php -v查看当前环境的php版本。如果windows下php运行的是php7,但php -v看到的是php5,则需要修改环境变量关于php的路径。
接下来,保证电脑安装了composer,如果是windows需要下载composer并安装,linux环境一般可能自带了。(其实不安装composer也可以,因为后面通过php命令行下载了一个composer.phar的文件,这个文件可以充当composer的功能)
然后进入PHP-Parser目录,如果是windows则使用cmd命令(管理员运行)到PHP-Parser目录,执行:
php -r ” eval(‘?>’ .file_get_contents(‘https://getcomposer.org/installer’));”
这条命令其实就是从
https://getcomposer.org/installer这里下载composer.phar到当前目录。
如果发现失败,可能是因为没有启用openssl扩展,可以去php7目录打开php.ini启用openssl扩展,再重启php即可。
然后再执行:
php composer.phar require nikic/php-parser
就可以安装好PHP-Parser的依赖环境。这是按官方的方法。
但问题是,执行php composer.phar require nikic/php-parser时,出了问题。
提示:
Using version ^4.1@dev for nikic/php-parser
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
– The requested package nikic/php-parser No version set (parsed as 1.0.0) is satisfiable by nikic/php-parser[No version set (parsed as 1.0.0)] but these conflict with your requirements or minimum-stability.
Installation failed, reverting ./composer.json to its original content.
这个意思是没有设置nikic/php-parser的版本号,被默认理解为使用1.0.0的版本,但这和要求的最低稳定性相冲突。
所以这样做,打开composer.json,在”name”: “nikic/php-parser”,这行下面增加一行:”version”: “4.1.0”,
为什么我知道是使用4.1.0的版本呢?
其实可以执行:composer show -all nikic/php-parser,这条命令看到nikic/php-parser的全部版本。
注:如果下载PHP-Parser早期的版本,可能修改composer.json时,
“version”: “4.1.0”,
这行视具体情况修改对应的版本号。
修改完composer.json后,再执行
php composer.phar require nikic/php-parser这条命令,就安装成功了。
后面就可以使用PHP-Parser了。
发表回复