ionCube Logo
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    ionCube Forum Index -> ionCube PHP Encoder

PHP 7.0 Support Timeline

Author Message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2757

PostPosted: Tue May 17, 2016 11:17 am    Post subject: Reply with quote

To meet the demand from developers and website users for an Encoder for PHP 7, the next product release is planned to be the PHP 7 Encoder. Support for PHP 5.5 scripts will follow after that. You have version 9, so if you give uses the choice of PHP 5.5 or 5.6 scripts, it should work for everyone.
_________________
Community Admin
Back to top
View user's profile Send private message
Josh Abbott



Joined: 08 Feb 2016
Posts: 8

PostPosted: Wed May 18, 2016 7:20 am    Post subject: Reply with quote

Most of our scripts are distributed through an automated store/licensing system, so providing two versions of each script wouldn't really work with our infrastructure.

I thought that PHP 5.5 and 5.6 were nearly identical internally, and most of the changes were to PHP's extensions such as OpenSSL. Couldn't the same Loader that runs PHP 5.6 encoded files on PHP 7 also run PHP 5.5 files, or would that require significant changes to the Loader?
Back to top
View user's profile Send private message
binwiederwo



Joined: 18 May 2016
Posts: 3

PostPosted: Wed May 18, 2016 12:42 pm    Post subject: Reply with quote

I tried the PHP 7 beta4 loader (64bit) for the first time yesterday (on 16.04, no extensions loaded except posix, PHP FPM & PHP CLI). I must say I have never seen so many segfaults in my life. About 50% of our application doesn't work, because FPM dies with a segfault. I tried to pinpoint it, but it's all over the place and seems very random.

I'm not sure if any of this will help you, but here are a few of them:

This is a regular PHP page:
Code:

==> /var/log/syslog <==

May 17 22:56:15 currywurst kernel: [11333.293426] php[19735]: segfault at 0 ip 00005581f4be4a0b sp 00007ffe31865208 error 4 in php7.0[5581f4997000+3a8000]

May 17 22:56:16 currywurst kernel: [11334.321392] php[19772]: segfault at 0 ip 0000564071215a0b sp 00007ffd833fd488 error 4 in php7.0[564070fc8000+3a8000]

==> /var/log/php7.0-fpm.log <==

[17-May-2016 22:56:17] WARNING: [pool www] child 17006 exited on signal 11 (SIGSEGV) after 103.527195 seconds from start

 ==> /var/log/syslog <==

May 17 22:56:17 currywurst kernel: [11334.693053] php-fpm7.0[17006]: segfault at 0 ip 000055dcb97c00db sp 00007ffe45b60138 error 4 in php-fpm7.0[55dcb957e000+3a6000]

 ==> /var/log/php7.0-fpm.log <==

[17-May-2016 22:56:17] NOTICE: [pool www] child 19853 started


This is a Symfony page:
Code:

==> /var/log/syslog <==

May 17 23:09:59 currywurst kernel: [12156.544846] php-fpm7.0[8465]: segfault at 7ffe45362ff0 ip 00007f0e19b4094b sp 00007ffe45362fc0 error 6

==> /var/log/php7.0-fpm.log <==

[17-May-2016 23:09:59] WARNING: [pool www] child 8465 exited on signal 11 (SIGSEGV) after 92.462750 seconds from start

[17-May-2016 23:09:59] NOTICE: [pool www] child 10718 started


Here's a bit of CLI:
Code:

root@currywurst# cat f.php

<?php
require_once("legacyFunctions.php");
$emails = getSubject();

root@currywurst:# php f.php
Segmentation fault


Same thing with strace:
Code:

lstat("/srv/www/lib/Someclass.php", {st_mode=S_IFREG|0644, st_size=21194, ...}) = 0
open("/srv/www/lib/Someclass.php", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=21194, ...}) = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=21194, ...}) = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=21194, ...}) = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=21194, ...}) = 0
mmap(NULL, 21194, PROT_READ, MAP_SHARED, 4, 0) = 0x7fb9be16e000
munmap(0x7fb9be16e000, 21194)           = 0
close(4)                                = 0
lstat("/srv/www/lib/Something/Anotherthing.php", {st_mode=S_IFREG|0644, st_size=5096, ...}) = 0
lstat("/srv/www/lib/Something", {st_mode=S_IFDIR|0755, st_size=4
096, ...}) = 0
access("/srv/config/config.json", F_OK) = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV +++
Segmentation fault


And with gdb:
Code:

(gdb) run f.php
Starting program: /usr/bin/php f.php
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555557a1a0b in ?? ()


No extensions loaded: (same for CLI):
Code:

root@currywurst:/etc/php/7.0/fpm/conf.d# ls -al
total 8
drwxr-xr-x 2 root root 4096 May 18 00:25 .
drwxr-xr-x 4 root root 4096 May  9 20:16 ..
lrwxrwxrwx 1 root root   39 May 17 23:31 00-ioncube.ini -> /etc/php/7.0/mods-available/ioncube.ini
lrwxrwxrwx 1 root root   37 May 18 00:23 20-posix.ini -> /etc/php/7.0/mods-available/posix.ini


Using beta4:
Code:

root@currywurst:/etc/php/7.0/fpm/conf.d# cat 00-ioncube.ini
; configuration for php ioncube loader
; priority=00
zend_extension=ioncube_loader_lin_x86-64_7.0b4.so


Versions:
Code:

root@currywurst:/etc/php/7.0/fpm/conf.d# lsb_release -a
No LSB modules are available.
Distributor ID:   Ubuntu
Description:   Ubuntu 16.04 LTS
Release:   16.04
Codename:   xenial

root@currywurst:/etc/php/7.0/fpm/conf.d# dpkg -l php7.0 | grep ii
Desired=Unknown/Install/Remove/Purge/Hold
ii  php7.0                                         7.0.4-7ubuntu2               all                          server-side, HTML-embedded scripting language (metapackage)
Back to top
View user's profile Send private message
alastair



Joined: 23 Feb 2010
Posts: 189

PostPosted: Wed May 18, 2016 1:41 pm    Post subject: Reply with quote

Hi,

Thanks for that information, binwiederwo.

Does your application use either __call or __callStatic in your application? I ask because those may cause a problem in the beta Loader with php 7.0.4 - 7.0.6. It should not affect PHP 7.0.3 or below.
_________________
Alastair

ionCube
Back to top
View user's profile Send private message
binwiederwo



Joined: 18 May 2016
Posts: 3

PostPosted: Wed May 18, 2016 2:18 pm    Post subject: Reply with quote

Thanks for responding so quickly!! Smile

The application has about 150k LoC with many third party dependencies. I am counting 2 occurrences of __call in our own application, and >70 more in third party libraries (Twig, various Symfony libraries, Doctrine, ..). I can try test more with that later today, maybe it's easier to pinpoint then.
Back to top
View user's profile Send private message
alastair



Joined: 23 Feb 2010
Posts: 189

PostPosted: Wed May 18, 2016 4:37 pm    Post subject: Reply with quote

Hi,

We have produced a new beta of the ionCube Loader for PHP 7 which addresses an issue with __call and __callStatic in PHP 7.0.4+. Please see the post at http://forum.ioncube.com/viewtopic.php?t=4352
_________________
Alastair

ionCube
Back to top
View user's profile Send private message
binwiederwo



Joined: 18 May 2016
Posts: 3

PostPosted: Fri May 20, 2016 1:46 am    Post subject: Reply with quote

Sadly it's not better at all with the beta 5 loader. In fact, I think fewer pages work now. I spent another half hour earlier today trying to pinpoint it. No luck at all. Any pointers you can give me as to how to help you track down this issue?
Back to top
View user's profile Send private message
alastair



Joined: 23 Feb 2010
Posts: 189

PostPosted: Fri May 20, 2016 8:53 am    Post subject: Reply with quote

Hi,

@binwiederwo Thanks for trying the new beta.

If you can find a page that does work with the beta 4 loader that now does now work in beta 5 then that would be helpful, especially if you have the original source code for that file.
_________________
Alastair

ionCube
Back to top
View user's profile Send private message
mx104jK



Joined: 20 May 2015
Posts: 3

PostPosted: Sat May 28, 2016 9:47 pm    Post subject: Reply with quote

Is it required to encode with encoder version 9 in order to run the code with the new beta? Or will it also work with version 8.3?
Back to top
View user's profile Send private message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2757

PostPosted: Sun May 29, 2016 11:25 am    Post subject: Reply with quote

The PHP 7 Loader requires version 9 files.

As with all things security, such as virus checkers (a 2 year old virus checker is all but useless for example), OS updates etc., it's recommended to keep updated.

Version 8 is good, but 9 gives the best ever security, with the introduction of unique features such as dynamic decoding and dynamic keys. Used together with obfuscation, this gives a level of protection for PHP code that has never been possible before. As always but more so now than ever, this is far ahead of what any competing solutions offer. If you've not taken a close look at v9 yet, I'd recommend it.
_________________
Community Admin
Back to top
View user's profile Send private message
kolivansemen



Joined: 30 May 2016
Posts: 1

PostPosted: Mon May 30, 2016 8:23 am    Post subject: Reply with quote

It is very coll! Thank you! Very Happy
Back to top
View user's profile Send private message
weloveayaka



Joined: 01 Jun 2016
Posts: 1

PostPosted: Wed Jun 01, 2016 1:08 pm    Post subject: Reply with quote

Hello, When will the new version release? We have plan to buy ionCube but we are worried about that php 7 support need to upgrade to new version and be paid again.
Back to top
View user's profile Send private message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2757

PostPosted: Wed Jun 01, 2016 6:18 pm    Post subject: Reply with quote

There is no release date for the PHP 7 Encoder at this time. You can use files from the version 9 Encoder already on PHP 7 with the beta Loaders, and you will only need the Encoder for PHP 7 if you are using features that only exist in PHP 7 (which is not recommended).

That said, it is recommended to keep up to date with out product in order to take advantage of the latest security features at the time. It's not necessary to update for no reason, but if releasing a new product or making a major update, using the latest version of our software at that point is definitely a good idea.
_________________
Community Admin
Back to top
View user's profile Send private message
BrainStorm



Joined: 04 Jun 2016
Posts: 1

PostPosted: Sat Jun 04, 2016 9:08 am    Post subject: Reply with quote

Hello, no beta loaders for Windows? I'm using Uniform Server and I have a licensed copy of Ioncube Encoder 5.6 and I will test my encoded files with PHP 7 and Ioncube beta Loader.
Thank you so much.
Back to top
View user's profile Send private message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2757

PostPosted: Sun Jun 05, 2016 2:45 pm    Post subject: Reply with quote

The range of platforms should be increasing after the upcoming beta6.
_________________
Community Admin
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ionCube Forum Index -> ionCube PHP Encoder All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 5 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum