PHP开发工具Json_LAMP、Screw Plus、cltjs-node、Docker-Multi-PHPunit介绍

以下为你介绍的PHP开发工具都可用在Linux系统上:Json_LAMP(LAMP 一键安装包)、Screw Plus(开源的 PHP 扩展加解密)、cltjs-node(运行平台)、Docker-Multi-PHPunit(测试PHP项目复杂度)。

1、Json_LAMP(LAMP 一键安装包)

PHP开发工具Json_LAMP、Screw Plus、cltjs-node、Docker-Multi-PHPunit介绍

Json_LAMP是LAMP一键安装包。

安装:

sh start.sh

PHP开发工具Json_LAMP、Screw Plus、cltjs-node、Docker-Multi-PHPunit介绍

多站点配置:

复制:/lamp/server/apache/conf.d/【唯一标识】-vhosts.conf   

配置:【唯一标识】-vhosts.conf      

生效:service httpd restart

Json_lamp结构:

mysql目录:/lamp/server/mysql(默认密码:admin)

mysql data目录:/lamp/server/data

php目录:/lamp/server/php

apache目录:/lamp/server/apache

命令一览:

mysql命令:service mysql (start|stop|restart|reload|status)

apache命令:service httpd (start|stop|restart|reload|status)

网站根目录:

默认web根目录:/lamp/wwwroot

PHP开发工具Json_LAMP、Screw Plus、cltjs-node、Docker-Multi-PHPunit介绍

下载地址:https://gitee.com/jdtest/Json_lamp

2、Screw Plus(开源的 PHP 扩展加解密)

Screw Plus是一个开源的php扩展,作用是对php文件进行加密,网络上提供php加密的服务很多,但大多都只是混淆级别的加密,被人拿到加密文件问只要有足够耐心就能破解,与之不同的是,Screw Plus采用扩展来加解密,而且是全球金融业流行的高强度AES256加密,除非破解了服务器,否则黑客拿到了加密文件也只是一堆乱码。

同一个加密级别的有ioncube和官方的zend guard,但这两款都是收费的,一年至少数千元的费用并不值得普通开发者去尝试,而使用Screw Plus,你不需要多花一分钱。

下面以LNMP一键安装环境为例演示下Screw Plus的配置:

首先克隆一份代码到服务器

git clone https://git.oschina.net/splot/php-screw-plus.git

进入项目目录,然后执行php的phpize文件,phpize是官方提供的可执行文件用于动态生成扩展开发环境,一般在php的bin目录下可以找到。lnmp的phpize在/usr/local/php/bin/phpize

/usr/local/php/bin/phpize

Configuring for:

PHP Api Version:        20100412

Zend Module Api No:      20100525

Zend Extension Api No:  220100525

执行成功后可以看到当前的php api版本,扩展api版本等。下一步就可以开始配置了。配置命令为 ./configure --with-php-config=[php-config], [php-config]一般也在php的bin目录下,写绝对路径就可以了。

./configure --with-php-config=/usr/local/php/bin/php-config

如果没报错,说明配置成功了,可以开始下一步编译了。

编译之前,我们可以修改加密的key,打开php_screw_plus.h可以看到开头就是 #define CAKEY "...",把里面的值改为一个足够复杂的key,最好16位以上,比如:9mqss6q7WsBpTMOZ

vi php_screw_plus.h

修改完毕之后,直接开始编译,执行make命令,如果最后显示Build complete.说明编译成功,扩展在modules里面,如果报错请根据提示进行修复,然后make clean之后重新编译。

make

...

Build complete.

上面我们编译的是解密程序,而加密程序也需要我们手动编译一下,进入tools目录执行make命令即可。如果没有报错,则扩展就全部编译完成了。

cd tools/ && make

然后需要把扩展的路径加入到php.ini中,你可以把modules/php_screw_plus.so复制到php扩展目录也可以直接在ini中加入绝对路径,我一般倾向于绝对路径这样修改编译了扩展也不需要重新复制过去。

vi php/etc/php.ini

加入绝对路径例如:

extension=/home/php_screw_plus-1.0/modules/php_screw_plus.so

然后重启php服务 这时可以放个php文件输出phpinfo信息,如果看到以下提示说明扩展生效了。

下面还有最后一步,加密程序。

在扩展的tools目录,执行./screw [路径],[路径]可以是单个文件也可以是文件夹,然后就可以实现加密了。

加密完成后查看源码,可以发现除了开头的几个英文字符外,其余的都成了乱码。

但是打开网站,php运行正常,如果没有加密一样。经过测试,解密速度大约为100M每秒,对php自身的性能损失非常小,一般不到20毫秒。

Screw Plus还有个功能,可阻止执行未经许可的php文件,这样黑客就算上传了代码也然并卵。

同样在php_screw_plus.h里修改,把STRICT_MODE后面的值改为1,然后make clean && make重新编译并重启php,然后打开之前加过密的网站,执行正常,但是我们随意上传个明文的php文件,结果是一片空白。

原因是未加密的php文件头部不包含识别key,扩展会返回空内容,就算黑客获取了key并加入也没用,内容会被解密成乱码仍然无法执行。经过Screw Plus的保护,即使网站整站被下载或被上传了恶意代码,也无法对网站造成损失。

下载地址:https://gitee.com/splot/php-screw-plus

3、cltjs-node(运行平台)

cltjs-node在Node.js中运行。

本地运行:

$ git clone https://github.com/hunterloftis/cltjs-node.git

$ cd cltjs-node

$ npm install

$ DEBUG=health:* npm run dev

运行测试:

$ npm test

部署到Heroku中:

$ heroku create

$ git push heroku master

查看每一个步骤:

$ git checkout v1

$ git checkout v2

...

$ git checkout v9

下载地址:https://github.com/hunterloftis/cltjs-node

4、Docker-Multi-PHPunit(测试PHP项目复杂度)

Docker-Multi-PHPunit使用Docker测试您的PHP代码的多个版本。

免费软件:Apache 2.0许可证。

特性:

在PHP 5.4、5.5、5.6和HHVM上支持PHPUnit测试。

使用环境:

Docker Toolbox

PHP Composer

使用示例:

cd example# Run the unit tests in different versions:composer update

docker-compose run php54 phpunit

docker-compose run php55 phpunit

docker-compose run php56 phpunit

docker-compose run hhvm phpunit

可参见 example/docker-compose.yml。

下载地址:https://github.com/ardydedase/docker-multi-phpunit

注明

以上就是PHP开发工具Json_LAMP、Screw Plus、cltjs-node、Docker-Multi-PHPunit的介绍内容,这些PHP开发工具都能使用在Linux操作系统中。

栏目相关文章