All Projects → codysnider → opcode-analysis

codysnider / opcode-analysis

Licence: GPL-3.0 license
A set of Docker images to test out PHP code against the interpreter to see the resulting opcodes with multiple PHP versions.

Programming Languages

shell
77523 projects
powershell
5483 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to opcode-analysis

essex
Essex - Boilerplate for Docker Based Projects
Stars: ✭ 32 (+128.57%)
Mutual labels:  dockerfiles, dockerfiles-linux
MDserver 64
PHP integrated environment - (Win7, 8, 10) 64-bit available
Stars: ✭ 18 (+28.57%)
Mutual labels:  php72
Devops Docker Images
A collection of Dockerfiles for images that can be used to implement Continuous Delivery pipelines for SAP development projects with project "Piper" or any other CD tool.
Stars: ✭ 52 (+271.43%)
Mutual labels:  dockerfiles
Docker Php Fpm
Devilbox's PHP-FPM Docker Images
Stars: ✭ 188 (+1242.86%)
Mutual labels:  dockerfiles
Dockerfile
📦 Dockerfiles from WebDevOps for PHP, Apache and Nginx (with PHP5 and PHP7)
Stars: ✭ 1,169 (+8250%)
Mutual labels:  dockerfiles
Earthly
Repeatable builds
Stars: ✭ 5,805 (+41364.29%)
Mutual labels:  dockerfiles
Sso
cas单点登录系统,其中包括cas认证服务,配置中心,监控平台,服务管理的高可用项目
Stars: ✭ 797 (+5592.86%)
Mutual labels:  dockerfiles
dockerfiles
A collection of Dockerfiles
Stars: ✭ 103 (+635.71%)
Mutual labels:  dockerfiles
docker-library
Collection of Dockerfiles
Stars: ✭ 20 (+42.86%)
Mutual labels:  dockerfiles
Dockerfile Language Server Nodejs
A language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies.
Stars: ✭ 170 (+1114.29%)
Mutual labels:  dockerfiles
Dockerfile
some personally made dockerfile
Stars: ✭ 2,021 (+14335.71%)
Mutual labels:  dockerfiles
Docker
Directus Docker — The Official Docker Container for the Directus Suite
Stars: ✭ 93 (+564.29%)
Mutual labels:  dockerfiles
Docker Minecraft Server
Docker image that provides a Minecraft Server that will automatically download selected version at startup
Stars: ✭ 3,642 (+25914.29%)
Mutual labels:  dockerfiles
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (+392.86%)
Mutual labels:  dockerfiles
instadown
🖼A python package to download all the public posts of an Instagram account.(deprecated)
Stars: ✭ 22 (+57.14%)
Mutual labels:  dockerfiles
Dockerfiles
Docker Projects Collection
Stars: ✭ 43 (+207.14%)
Mutual labels:  dockerfiles
Dockerfiles
Phalcon Dockerfiles used for internal purposes.
Stars: ✭ 145 (+935.71%)
Mutual labels:  dockerfiles
Container.training
Slides and code samples for training, tutorials, and workshops about Docker, containers, and Kubernetes.
Stars: ✭ 2,377 (+16878.57%)
Mutual labels:  dockerfiles
dockerfiles
Dockerfiles I use for development
Stars: ✭ 64 (+357.14%)
Mutual labels:  dockerfiles
SAC
An AntiCheat software for PockeMine-MP made to detect unfair gamplay advantages.
Stars: ✭ 52 (+271.43%)
Mutual labels:  php72

PHP Opcode Analysis Kit

A set of Docker images to test out PHP code against the interpreter to see the resulting opcodes with multiple PHP versions.

Usage

Edit the test.php file with the code you would like to test. From there, run the bash/PowerShell script to build the containers and test the code.

Linux

./run.sh

Windows

.\run.ps1

Test File

<?php

$x = 'a';
$y = $x.' b';
echo $y;

$x = 'a';
$y = "$x b";
echo $y;

$x = 'a';
$y = "{$x} b";
echo $y;

Example Output

branch: #  0; line:     3-   14; sop:     0; eop:    14; out1:  -2
path #1: 0,
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 62) Position 1 = -2
filename:       /test.php
function name:  (null)
number of ops:  15
compiled vars:  !0 = $x, !1 = $y
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 'a'
   4     1        CONCAT                                           ~1      !0, '+b'
         2        ASSIGN                                                   !1, ~1
   5     3        ECHO                                                     !1
   7     4        ASSIGN                                                   !0, 'a'
   8     5        ADD_VAR                                          ~4      !0
         6        ADD_STRING                                       ~4      ~4, '+b'
         7        ASSIGN                                                   !1, ~4
   9     8        ECHO                                                     !1
  11     9        ASSIGN                                                   !0, 'a'
  12    10        ADD_VAR                                          ~7      !0
        11        ADD_STRING                                       ~7      ~7, '+b'
        12        ASSIGN                                                   !1, ~7
  13    13        ECHO                                                     !1
  14    14      > RETURN                                                   1

Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /test.php
function name:  (null)
number of ops:  15
compiled vars:  !0 = $x, !1 = $y
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 'a'
   4     1        CONCAT                                           ~3      !0, '+b'
         2        ASSIGN                                                   !1, ~3
   5     3        ECHO                                                     !1
   7     4        ASSIGN                                                   !0, 'a'
   8     5        NOP
         6        FAST_CONCAT                                      ~6      !0, '+b'
         7        ASSIGN                                                   !1, ~6
   9     8        ECHO                                                     !1
  11     9        ASSIGN                                                   !0, 'a'
  12    10        NOP
        11        FAST_CONCAT                                      ~9      !0, '+b'
        12        ASSIGN                                                   !1, ~9
  13    13        ECHO                                                     !1
  14    14      > RETURN                                                   1

branch: #  0; line:     3-   14; sop:     0; eop:    14; out0:  -2
path #1: 0,
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /test.php
function name:  (null)
number of ops:  15
compiled vars:  !0 = $x, !1 = $y
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 'a'
   4     1        CONCAT                                           ~3      !0, '+b'
         2        ASSIGN                                                   !1, ~3
   5     3        ECHO                                                     !1
   7     4        ASSIGN                                                   !0, 'a'
   8     5        NOP
         6        FAST_CONCAT                                      ~6      !0, '+b'
         7        ASSIGN                                                   !1, ~6
   9     8        ECHO                                                     !1
  11     9        ASSIGN                                                   !0, 'a'
  12    10        NOP
        11        FAST_CONCAT                                      ~9      !0, '+b'
        12        ASSIGN                                                   !1, ~9
  13    13        ECHO                                                     !1
  14    14      > RETURN                                                   1

branch: #  0; line:     3-   14; sop:     0; eop:    14; out0:  -2
path #1: 0,
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /test.php
function name:  (null)
number of ops:  15
compiled vars:  !0 = $x, !1 = $y
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 'a'
   4     1        CONCAT                                           ~3      !0, '+b'
         2        ASSIGN                                                   !1, ~3
   5     3        ECHO                                                     !1
   7     4        ASSIGN                                                   !0, 'a'
   8     5        NOP
         6        FAST_CONCAT                                      ~6      !0, '+b'
         7        ASSIGN                                                   !1, ~6
   9     8        ECHO                                                     !1
  11     9        ASSIGN                                                   !0, 'a'
  12    10        NOP
        11        FAST_CONCAT                                      ~9      !0, '+b'
        12        ASSIGN                                                   !1, ~9
  13    13        ECHO                                                     !1
  14    14      > RETURN                                                   1

branch: #  0; line:     3-   14; sop:     0; eop:    14; out0:  -2
path #1: 0,

Contributions are always welcome and happy testing!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].