By installing a couple of apps (Wordpress-4.1, Drupal8 and Moodle -
there are still some issues in Moodle I haven't figured out yet) on a
box we've tracked down some bugs over the last couple of days. It would
be really useful if we got more eyes on this. Install php7, then install
any random app and see how it goes. Sometimes it is useful to flip back
and forth between 5.6 and 7 to check if a problem is php7-specific, so I
have php56-fpm sitting alongside php7-fpm and it is trivial to switch
back and forth.
Hopefully everyone here knows how to compile from git and get things up
and running. But, if someone is good with building sharable container
images of some kind, that might be a nice contribution as well. An image
with clear instructions telling people to drop their app into
/var/www/whatever and add the appropriate nginx/apache vhost block and
they are set.
-Rasmus
Am 22.01.2015 um 18:05 schrieb Rasmus Lerdorf:
It would be really useful if we got more eyes on this. Install php7,
then install any random app and see how it goes.
It's even easier to check whether a component or framework has issues
with PHP 7: simply run the respective test suite with PHP 7.
With the exception of one test case, the test suite for PHPUnit
itself runs without a problem on PHP 7. The one test that fails is
related to the textual representation of SplObjectStorage objects:
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
- )
+- 'inf' => null
+- )
+- '000000006a6ff9c8000000006911d926' => Array &1 (
+SplObjectStorage Object &000000006a6ff9ce000000006910251e (
+ '000000006a6ff9c8000000006911d926' => Array &0 (
-+ 'obj' => stdClass Object &000000006a6ff9c8000000006911d926 ()
-
'obj' => stdClass Object &000000006a6ff9c8000000006911d926 () 'inf' => null )
-- '000000006a6ff9c8000000006911d926' => Array &0
)
'
Hopefully I'll have the time soon to investigate this.
It would be great if Travis CI would offer PHP 7 nightly / weekly
builds to test against. The we could ask the projects that run their
tests on Travis CI to enable PHP 7 for their builds.
On Thu, Jan 22, 2015 at 6:36 PM, Sebastian Bergmann sebastian@php.net
wrote:
Am 22.01.2015 um 18:05 schrieb Rasmus Lerdorf:
It would be really useful if we got more eyes on this. Install php7,
then install any random app and see how it goes.It's even easier to check whether a component or framework has issues
with PHP 7: simply run the respective test suite with PHP 7.With the exception of one test case, the test suite for PHPUnit
itself runs without a problem on PHP 7. The one test that fails is
related to the textual representation of SplObjectStorage objects:Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
- )
+- 'inf' => null
+- )
+- '000000006a6ff9c8000000006911d926' => Array &1 (
+SplObjectStorage Object &000000006a6ff9ce000000006910251e (
+ '000000006a6ff9c8000000006911d926' => Array &0 (
-+ 'obj' => stdClass Object &000000006a6ff9c8000000006911d926 ()
'obj' => stdClass Object &000000006a6ff9c8000000006911d926 () 'inf' => null )
-- '000000006a6ff9c8000000006911d926' => Array &0
)
'Hopefully I'll have the time soon to investigate this.
It would be great if Travis CI would offer PHP 7 nightly / weekly
builds to test against. The we could ask the projects that run their
tests on Travis CI to enable PHP 7 for their builds.
Hello,
I used to run Symfony2 and Doctrine2 test suite on PHP7.
I will push such tests in the next time, and run them when I run PHP 5.x
new release against those tests
Julien.P
Hi,
-+ 'obj' => stdClass Object &000000006a6ff9c8000000006911d926 () + 'obj' => stdClass Object &000000006a6ff9c8000000006911d926 () 'inf' => null ) -- '000000006a6ff9c8000000006911d926' => Array &0 ) '
Hopefully I'll have the time soon to investigate this.
It would be great if Travis CI would offer PHP 7 nightly / weekly
builds to test against. The we could ask the projects that run their
tests on Travis CI to enable PHP 7 for their builds.
FWIW, I've been doing this since quite a long time already for a few
selected projects (including PHPUnit) on:
https://revive.beccati.com/bamboo/
I've been monitoring the project builds and reporting failures on
#php.pecl. Until now, this has proved to be very useful.
I had to quarantine a couple of tests in Doctrine and PHPUnit as they
both depend on the re-usage of the hashes returned by spl_object_hash()
,
which shouldn't actually be depended upon (am I right dmitry?).
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
I had to quarantine a couple of tests in Doctrine and PHPUnit as they both
depend on the re-usage of the hashes returned byspl_object_hash()
, which
shouldn't actually be depended upon (am I right dmitry?).
I'm not Dmitry, but I am fairly certain you should not rely on hashes
being reused.
I had to quarantine a couple of tests in Doctrine and PHPUnit as they both
depend on the re-usage of the hashes returned byspl_object_hash()
, which
shouldn't actually be depended upon (am I right dmitry?).I'm not Dmitry, but I am fairly certain you should not rely on hashes
being reused.
I was quoting a quick discussion we had, that's why I mentioned him ;)
To make my stament clearer, I meant "spl_object_hash re-using the hash
of an object that has been unset and garbage collected".
TBH I don't recall what the PHPUnit test does, but I'm fairly sure that
the Doctrine2 tests uses such test to verify that there are no "leaks"
using a certain recommended pattern for batch operations (or something
along the lines).
Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
Hi,
Our attempt to run Drupal-8 today, disclosed at least 3 new problems.
2 of them must be already fixed, but I know we must have a lot of other
problems uncovered by our test suite.
Every new tested app my trigger something new.
The more attention we draw now the better quality we will provide.
Instead of using FPM, especially for testing, it may make sense to run
single FastCGI process
$ sapi/cgi/php-cgi -b <socket>
DEBUG build will report memory leaks
to analyze memory corryption and leaks, it's also possible to run php under
valgrind
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cgi/php-cgi -b <socket>
No any special web server configuration required, just configure it for
FastCGI server on the <socket>.
Then you may run FPM or FastCGI SAPI or even HHVM on the same <socket>
without web server restart.
Thanks. Dmitry.
I had to quarantine a couple of tests in Doctrine and PHPUnit as they both
depend on the re-usage of the hashes returned by
spl_object_hash()
, which
shouldn't actually be depended upon (am I right dmitry?).I'm not Dmitry, but I am fairly certain you should not rely on hashes
being reused.I was quoting a quick discussion we had, that's why I mentioned him ;)
To make my stament clearer, I meant "spl_object_hash re-using the hash of
an object that has been unset and garbage collected".TBH I don't recall what the PHPUnit test does, but I'm fairly sure that
the Doctrine2 tests uses such test to verify that there are no "leaks"
using a certain recommended pattern for batch operations (or something
along the lines).Cheers
Matteo Beccati
Development & Consulting - http://www.beccati.com/
I had to quarantine a couple of tests in Doctrine and PHPUnit as they
both
depend on the re-usage of the hashes returned byspl_object_hash()
, which
shouldn't actually be depended upon (am I right dmitry?).I'm not Dmitry, but I am fairly certain you should not rely on hashes
being reused.
The test in Doctrine is not about hashes being reused, but about testing
hashes are not reused. It might be written in a way where a change of the
hash is not portable though.
Install php7, then install any random app and see how it goes.
When I can actually run my infrastructure on PHP7 then I could at least
see if there is a performance improvement. Although I think only
interbase is left on the unavailable list. imagick is now available?
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.
btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be copied from:
https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.
cheers
Dan
imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be copied from:
https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.
For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals *, v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.
-Rasmus
Trying to run phpunit on the latest CakePHP 3 gives a lot of errors of this
type (not on every test case):
php: /.../php-src/Zend/zend_gc.c:144: gc_possible_root: Assertion
`((zend_refcounted*)(ref))->u.v.type == 7 ||
((zend_refcounted*)(ref))->u.v.type == 8' failed.
This errors happens after the test is completed and all output from PHPUnit
is done.
I am using Ubuntu 12.04 with and the last commit of my php
is b8e262901e56a4d9a6664d348c9878246579239e (Thu Jan 22 14:04:49 2015
-0800).
This is the gdb backtrace:
(gdb) bt
#0 0x00007ffff61840d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618783b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff617cd9e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff617ce42 in __assert_fail () from
/lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000090ed19 in gc_possible_root (ref=0x7ffff4038820) at
/.../php-src/Zend/zend_gc.c:144
#5 0x00000000008f1b25 in gc_check_possible_root (z=0x7ffff40302e0) at
/.../php-src/Zend/zend_gc.h:145
#6 0x00000000008f1b83 in i_zval_ptr_dtor (zval_ptr=0x7ffff40302e0,
__zend_filename=0xe493f0 "/.../php-src/Zend/zend_hash.c",
__zend_lineno=929) at /.../php-src/Zend/zend_variables.h:54
#7 0x00000000008f4824 in zend_array_destroy (ht=0x7ffff40391e8) at
/.../php-src/Zend/zend_hash.c:929
#8 0x00000000008de252 in _zval_dtor_func_for_ptr (p=0x7ffff40391e0,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.c:105
#9 0x00000000008c76d4 in i_zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.h:52
#10 0x00000000008c8b43 in _zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_execute_API.c:483
#11 0x00000000008cdbce in zend_cleanup_user_class_data (ce=0x7ffff400e918)
at /.../php-src/Zend/zend_opcode.c:158
#12 0x00000000008c84b2 in shutdown_executor () at
/.../php-src/Zend/zend_execute_API.c:318
#13 0x00000000008e08ce in zend_deactivate () at /.../php-src/Zend/zend.c:886
#14 0x0000000000851d09 in php_request_shutdown (dummy=0x0) at
/.../php-src/main/main.c:1856
#15 0x00000000009861e2 in do_cli (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1159
#16 0x000000000098696a in main (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1361
Any idea? I am trying to isolate the problem, but may take a while.
imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be
copied from:https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals *, v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.-Rasmus
I could isolate the problem. Here is a script to reproduce:
https://gist.github.com/jrbasso/031fffc8f5eeaf872d4e
The issue seems to be related when a new instance is loaded and then
get_class_vars is called for the class holding the instance. Removing any
of the lines from the static method avoids the error.
Should I open an issue on bugs.php.net?
Trying to run phpunit on the latest CakePHP 3 gives a lot of errors of
this type (not on every test case):php: /.../php-src/Zend/zend_gc.c:144: gc_possible_root: Assertion
`((zend_refcounted*)(ref))->u.v.type == 7 ||
((zend_refcounted*)(ref))->u.v.type == 8' failed.This errors happens after the test is completed and all output from
PHPUnit is done.
I am using Ubuntu 12.04 with and the last commit of my php
is b8e262901e56a4d9a6664d348c9878246579239e (Thu Jan 22 14:04:49 2015
-0800).This is the gdb backtrace:
(gdb) bt
#0 0x00007ffff61840d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618783b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff617cd9e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff617ce42 in __assert_fail () from
/lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000090ed19 in gc_possible_root (ref=0x7ffff4038820) at
/.../php-src/Zend/zend_gc.c:144
#5 0x00000000008f1b25 in gc_check_possible_root (z=0x7ffff40302e0) at
/.../php-src/Zend/zend_gc.h:145
#6 0x00000000008f1b83 in i_zval_ptr_dtor (zval_ptr=0x7ffff40302e0,
__zend_filename=0xe493f0 "/.../php-src/Zend/zend_hash.c",
__zend_lineno=929) at /.../php-src/Zend/zend_variables.h:54
#7 0x00000000008f4824 in zend_array_destroy (ht=0x7ffff40391e8) at
/.../php-src/Zend/zend_hash.c:929
#8 0x00000000008de252 in _zval_dtor_func_for_ptr (p=0x7ffff40391e0,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.c:105
#9 0x00000000008c76d4 in i_zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.h:52
#10 0x00000000008c8b43 in _zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_execute_API.c:483
#11 0x00000000008cdbce in zend_cleanup_user_class_data (ce=0x7ffff400e918)
at /.../php-src/Zend/zend_opcode.c:158
#12 0x00000000008c84b2 in shutdown_executor () at
/.../php-src/Zend/zend_execute_API.c:318
#13 0x00000000008e08ce in zend_deactivate () at
/.../php-src/Zend/zend.c:886
#14 0x0000000000851d09 in php_request_shutdown (dummy=0x0) at
/.../php-src/main/main.c:1856
#15 0x00000000009861e2 in do_cli (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1159
#16 0x000000000098696a in main (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1361Any idea? I am trying to isolate the problem, but may take a while.
On Thu, Jan 22, 2015 at 7:19 PM, Rasmus Lerdorf rasmus@lerdorf.com
wrote:imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be
copied from:https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals *, v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.-Rasmus
I could isolate the problem. Here is a script to reproduce:
https://gist.github.com/jrbasso/031fffc8f5eeaf872d4eThe issue seems to be related when a new instance is loaded and then
get_class_vars is called for the class holding the instance. Removing any
of the lines from the static method avoids the error.
Nice work! Thanks :)
Should I open an issue on bugs.php.net?
Yes, please :)
Hey:
I could isolate the problem. Here is a script to reproduce:
https://gist.github.com/jrbasso/031fffc8f5eeaf872d4eThe issue seems to be related when a new instance is loaded and then
get_class_vars is called for the class holding the instance. Removing any
of the lines from the static method avoids the error.Nice work! Thanks :)
Should I open an issue on bugs.php.net?
Yes, please :)
I'v got a fix. thanks for the reporting :)
thanks
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Hey:
I could isolate the problem. Here is a script to reproduce:
https://gist.github.com/jrbasso/031fffc8f5eeaf872d4eThe issue seems to be related when a new instance is loaded and then
get_class_vars is called for the class holding the instance. Removing any
of the lines from the static method avoids the error.Should I open an issue on bugs.php.net?
could you please try with the master again?
thanks
Trying to run phpunit on the latest CakePHP 3 gives a lot of errors of
this type (not on every test case):php: /.../php-src/Zend/zend_gc.c:144: gc_possible_root: Assertion
`((zend_refcounted*)(ref))->u.v.type == 7 ||
((zend_refcounted*)(ref))->u.v.type == 8' failed.This errors happens after the test is completed and all output from
PHPUnit is done.
I am using Ubuntu 12.04 with and the last commit of my php
is b8e262901e56a4d9a6664d348c9878246579239e (Thu Jan 22 14:04:49 2015
-0800).This is the gdb backtrace:
(gdb) bt
#0 0x00007ffff61840d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618783b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff617cd9e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff617ce42 in __assert_fail () from
/lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000090ed19 in gc_possible_root (ref=0x7ffff4038820) at
/.../php-src/Zend/zend_gc.c:144
#5 0x00000000008f1b25 in gc_check_possible_root (z=0x7ffff40302e0) at
/.../php-src/Zend/zend_gc.h:145
#6 0x00000000008f1b83 in i_zval_ptr_dtor (zval_ptr=0x7ffff40302e0,
__zend_filename=0xe493f0 "/.../php-src/Zend/zend_hash.c",
__zend_lineno=929) at /.../php-src/Zend/zend_variables.h:54
#7 0x00000000008f4824 in zend_array_destroy (ht=0x7ffff40391e8) at
/.../php-src/Zend/zend_hash.c:929
#8 0x00000000008de252 in _zval_dtor_func_for_ptr (p=0x7ffff40391e0,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.c:105
#9 0x00000000008c76d4 in i_zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.h:52
#10 0x00000000008c8b43 in _zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_execute_API.c:483
#11 0x00000000008cdbce in zend_cleanup_user_class_data (ce=0x7ffff400e918)
at /.../php-src/Zend/zend_opcode.c:158
#12 0x00000000008c84b2 in shutdown_executor () at
/.../php-src/Zend/zend_execute_API.c:318
#13 0x00000000008e08ce in zend_deactivate () at
/.../php-src/Zend/zend.c:886
#14 0x0000000000851d09 in php_request_shutdown (dummy=0x0) at
/.../php-src/main/main.c:1856
#15 0x00000000009861e2 in do_cli (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1159
#16 0x000000000098696a in main (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1361Any idea? I am trying to isolate the problem, but may take a while.
On Thu, Jan 22, 2015 at 7:19 PM, Rasmus Lerdorf rasmus@lerdorf.com
wrote:imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be
copied from:https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals *, v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.-Rasmus
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Yes, just tested after your change and it solved the problem. Thanks for
the quick fix.
Hey:
I could isolate the problem. Here is a script to reproduce:
https://gist.github.com/jrbasso/031fffc8f5eeaf872d4eThe issue seems to be related when a new instance is loaded and then
get_class_vars is called for the class holding the instance. Removing any
of the lines from the static method avoids the error.Should I open an issue on bugs.php.net?
could you please try with the master again?thanks
Trying to run phpunit on the latest CakePHP 3 gives a lot of errors of
this type (not on every test case):php: /.../php-src/Zend/zend_gc.c:144: gc_possible_root: Assertion
`((zend_refcounted*)(ref))->u.v.type == 7 ||
((zend_refcounted*)(ref))->u.v.type == 8' failed.This errors happens after the test is completed and all output from
PHPUnit is done.
I am using Ubuntu 12.04 with and the last commit of my php
is b8e262901e56a4d9a6664d348c9878246579239e (Thu Jan 22 14:04:49 2015
-0800).This is the gdb backtrace:
(gdb) bt
#0 0x00007ffff61840d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618783b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff617cd9e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff617ce42 in __assert_fail () from
/lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000090ed19 in gc_possible_root (ref=0x7ffff4038820) at
/.../php-src/Zend/zend_gc.c:144
#5 0x00000000008f1b25 in gc_check_possible_root (z=0x7ffff40302e0) at
/.../php-src/Zend/zend_gc.h:145
#6 0x00000000008f1b83 in i_zval_ptr_dtor (zval_ptr=0x7ffff40302e0,
__zend_filename=0xe493f0 "/.../php-src/Zend/zend_hash.c",
__zend_lineno=929) at /.../php-src/Zend/zend_variables.h:54
#7 0x00000000008f4824 in zend_array_destroy (ht=0x7ffff40391e8) at
/.../php-src/Zend/zend_hash.c:929
#8 0x00000000008de252 in _zval_dtor_func_for_ptr (p=0x7ffff40391e0,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.c:105
#9 0x00000000008c76d4 in i_zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.h:52
#10 0x00000000008c8b43 in _zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_execute_API.c:483
#11 0x00000000008cdbce in zend_cleanup_user_class_data
(ce=0x7ffff400e918)
at /.../php-src/Zend/zend_opcode.c:158
#12 0x00000000008c84b2 in shutdown_executor () at
/.../php-src/Zend/zend_execute_API.c:318
#13 0x00000000008e08ce in zend_deactivate () at
/.../php-src/Zend/zend.c:886
#14 0x0000000000851d09 in php_request_shutdown (dummy=0x0) at
/.../php-src/main/main.c:1856
#15 0x00000000009861e2 in do_cli (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1159
#16 0x000000000098696a in main (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1361Any idea? I am trying to isolate the problem, but may take a while.
On Thu, Jan 22, 2015 at 7:19 PM, Rasmus Lerdorf rasmus@lerdorf.com
wrote:On 22 January 2015 at 21:07, Lester Caine lester@lsces.co.uk
wrote:imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend.
Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be
copied from:https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for
an
extension, so that people could see the actual changes needed, would
be awesome.For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals
*, v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.-Rasmus
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Thanks. This problem was introduced yesterday and must be already fixed.
Dmitry.
Trying to run phpunit on the latest CakePHP 3 gives a lot of errors of this
type (not on every test case):php: /.../php-src/Zend/zend_gc.c:144: gc_possible_root: Assertion
`((zend_refcounted*)(ref))->u.v.type == 7 ||
((zend_refcounted*)(ref))->u.v.type == 8' failed.This errors happens after the test is completed and all output from PHPUnit
is done.
I am using Ubuntu 12.04 with and the last commit of my php
is b8e262901e56a4d9a6664d348c9878246579239e (Thu Jan 22 14:04:49 2015
-0800).This is the gdb backtrace:
(gdb) bt
#0 0x00007ffff61840d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618783b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff617cd9e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff617ce42 in __assert_fail () from
/lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000090ed19 in gc_possible_root (ref=0x7ffff4038820) at
/.../php-src/Zend/zend_gc.c:144
#5 0x00000000008f1b25 in gc_check_possible_root (z=0x7ffff40302e0) at
/.../php-src/Zend/zend_gc.h:145
#6 0x00000000008f1b83 in i_zval_ptr_dtor (zval_ptr=0x7ffff40302e0,
__zend_filename=0xe493f0 "/.../php-src/Zend/zend_hash.c",
__zend_lineno=929) at /.../php-src/Zend/zend_variables.h:54
#7 0x00000000008f4824 in zend_array_destroy (ht=0x7ffff40391e8) at
/.../php-src/Zend/zend_hash.c:929
#8 0x00000000008de252 in _zval_dtor_func_for_ptr (p=0x7ffff40391e0,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.c:105
#9 0x00000000008c76d4 in i_zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_variables.h:52
#10 0x00000000008c8b43 in _zval_ptr_dtor (zval_ptr=0x7ffff43e3130,
__zend_filename=0xe46470 "/.../php-src/Zend/zend_opcode.c",
__zend_lineno=158) at /.../php-src/Zend/zend_execute_API.c:483
#11 0x00000000008cdbce in zend_cleanup_user_class_data (ce=0x7ffff400e918)
at /.../php-src/Zend/zend_opcode.c:158
#12 0x00000000008c84b2 in shutdown_executor () at
/.../php-src/Zend/zend_execute_API.c:318
#13 0x00000000008e08ce in zend_deactivate () at
/.../php-src/Zend/zend.c:886
#14 0x0000000000851d09 in php_request_shutdown (dummy=0x0) at
/.../php-src/main/main.c:1856
#15 0x00000000009861e2 in do_cli (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1159
#16 0x000000000098696a in main (argc=3, argv=0x11b1990) at
/.../php-src/sapi/cli/php_cli.c:1361Any idea? I am trying to isolate the problem, but may take a while.
On Thu, Jan 22, 2015 at 7:19 PM, Rasmus Lerdorf rasmus@lerdorf.com
wrote:imagick is now available?
Not yet. I'll try to finish it off before the end of the weekend. Most
of the work was done earlier, but I need to add the changes for the
Native TLS.btw this request to update the PHPNG upgrading guide is still open:
Thanks. I think the TSRM changes need to be added, which could be
copied from:https://github.com/php/php-src/commit/dec8eb431adee340fb8dfb9ff33ed29d3279c35f
Providing a link to a commit that implemented the TSRM changes for an
extension, so that people could see the actual changes needed, would
be awesome.For most extensions that just do something simple like imagick does:
#ifdef ZTS
define IMAGICK_G(v) TSRMG(imagick_globals_id, zend_imagick_globals *,
v)
#else
define IMAGICK_G(v) (imagick_globals.v)
#endif
There is absolutely nothing to do. You can, just for your own amusement
and because it makes the code look prettier, go through and remove all
instances of TSRMLS_* macros in all your C files. But it isn't critical
since they are just defined to nothing in PHP7. Just leave that TSRMG
define in your .h file and it will do the right thing.-Rasmus
Lester Caine in php.internals (Thu, 22 Jan 2015 21:07:36 +0000):
Install php7, then install any random app and see how it goes.
When I can actually run my infrastructure on PHP7 then I could at least
see if there is a performance improvement. Although I think only
interbase is left on the unavailable list. imagick is now available?
Interbase builds and loads under Windows with VC11 x86. If it works I do
not test:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The configure line is misleading. For instance OCI does not build yet.
Just look at the other output of phpinfo()
.
Jan
By installing a couple of apps (Wordpress-4.1, Drupal8 and Moodle -
there are still some issues in Moodle I haven't figured out yet) on a
box we've tracked down some bugs over the last couple of days. It would
be really useful if we got more eyes on this. Install php7, then install
any random app and see how it goes. Sometimes it is useful to flip back
and forth between 5.6 and 7 to check if a problem is php7-specific, so I
have php56-fpm sitting alongside php7-fpm and it is trivial to switch
back and forth.
We're obviously not Wordpress-level famous but phpMyFAQ has a demo
install with master (not updated nightly, but regularly) at
http://richmond.demo.phpmyfaq.de/ (along with 5.4, 5.5, 5.6 and HHVM)
and our latest release - everything running smooth so far.
Maybe something like https://python3wos.appspot.com/ could make sense
for PHP apps and/or extensions?
Greetings,
Florian
Rasmus Lerdorf in php.internals (Thu, 22 Jan 2015 09:05:28 -0800):
Hopefully everyone here knows how to compile from git and get things up
and running.
I would love to test a Windows build with all kinds of extensions if
there was a consistent way to find out which branch I'd have to
checkout. For http v2, propro and raphf that is the 'phpng' branch, but
I have no idea what choices other extension maintainers have made.
Jan
"master" branch.
Rasmus Lerdorf in php.internals (Thu, 22 Jan 2015 09:05:28 -0800):
Hopefully everyone here knows how to compile from git and get things up
and running.I would love to test a Windows build with all kinds of extensions if
there was a consistent way to find out which branch I'd have to
checkout. For http v2, propro and raphf that is the 'phpng' branch, but
I have no idea what choices other extension maintainers have made.Jan
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Build:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.
Jan
Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmBuild:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zip
What you cannot see in phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.
Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.
Jan
I found another segment fault on PHP 7 during CakePHP 3 tests. I reported
the issue on https://bugs.php.net/bug.php?id=68896
Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmBuild:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zipThe TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897
I found another segment fault on PHP 7 during CakePHP 3 tests. I reported
the issue on https://bugs.php.net/bug.php?id=68896Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmBuild:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zipThe TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
I step in another failing test that I would like to confirm if that is an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).
Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive the
first value.
Is that an issue or BC break?
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897I found another segment fault on PHP 7 during CakePHP 3 tests. I reported
the issue on https://bugs.php.net/bug.php?id=68896Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Build:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
Hey:
I step in another failing test that I would like to confirm if that is an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive the
first value.Is that an issue or BC break?
this is a knew BC break, please read "Changes to list()" section in
the AST RFC https://wiki.php.net/rfc/abstract_syntax_tree
thanks
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897I found another segment fault on PHP 7 during CakePHP 3 tests. I reported
the issue on https://bugs.php.net/bug.php?id=68896Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Build:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
--
--
Xinchen Hui
@Laruence
http://www.laruence.com/
I see. Shouldn't this BC break be added on the UPGRADING file too? I can
open a PR if necessary.
Hey:
I step in another failing test that I would like to confirm if that is an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is
also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive the
first value.Is that an issue or BC break?
this is a knew BC break, please read "Changes to list()" section in
the AST RFC https://wiki.php.net/rfc/abstract_syntax_treethanks
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897I found another segment fault on PHP 7 during CakePHP 3 tests. I
reported
the issue on https://bugs.php.net/bug.php?id=68896On Fri, Jan 23, 2015 at 5:01 PM, Jan Ehrhardt phpdev@ehrhardt.nl
wrote:Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did
compile
and load:https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Build:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches,
unknown to
you and me.Jan
--
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Hey:
I see. Shouldn't this BC break be added on the UPGRADING file too? I can
open a PR if necessary.
I think it's not necessary, for such a rare usage.. :)
thanks
Hey:
I step in another failing test that I would like to confirm if that is
an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is
also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive
the
first value.Is that an issue or BC break?
this is a knew BC break, please read "Changes to list()" section in
the AST RFC https://wiki.php.net/rfc/abstract_syntax_treethanks
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897I found another segment fault on PHP 7 during CakePHP 3 tests. I
reported
the issue on https://bugs.php.net/bug.php?id=68896On Fri, Jan 23, 2015 at 5:01 PM, Jan Ehrhardt phpdev@ehrhardt.nl
wrote:Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did
compile
and load:https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Build:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zip
The TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches,
unknown to
you and me.Jan
--
--
Xinchen Hui
@Laruence
http://www.laruence.com/
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Hey:
I see. Shouldn't this BC break be added on the UPGRADING file too? I can
open a PR if necessary.I think it's not necessary, for such a rare usage.. :)
Every change should be there. Small or big. It will help migrations and
when one wonders if something is a bug or an expected BC.
Hey:
I step in another failing test that I would like to confirm if that is an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is
also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive the
first value.Is that an issue or BC break?
this is a knew BC break, please read "Changes to list()" section in
the AST RFC https://wiki.php.net/rfc/abstract_syntax_treethanks
We also document this on http://php.net/list:
Modification of the array during list() execution (e.g. using list($a,
$b) = $b) results in undefined behavior.
If we want, we could make this defined behavior (we would have to disable
CV optimization on the $b fetch). I don't really care personally.
Nikita
I see. I guess that's fine. I opened a PR for CakePHP to update the code
and avoid this.
Thanks.
Hey:
I step in another failing test that I would like to confirm if that is
an
issue or it was an accepted backward incompatibility due the phpng (I
couldn't find anything on the RFC and the UPGRADING regarding that).Here is the code: http://3v4l.org/h7TEV
The issue happens when the variable used to split data using list() is
also
part of the variables that will receive the values. In the case of my
example, $data contains the data to be splitted and also will receive
the
first value.Is that an issue or BC break?
this is a knew BC break, please read "Changes to list()" section in
the AST RFC https://wiki.php.net/rfc/abstract_syntax_treethanks
We also document this on http://php.net/list:
Modification of the array during list() execution (e.g. using list($a,
$b) = $b) results in undefined behavior.If we want, we could make this defined behavior (we would have to disable
CV optimization on the $b fetch). I don't really care personally.Nikita
Hey:
This is not a segfault, but another issue exclusive from PHP 7
https://bugs.php.net/bug.php?id=68897
thanks, this one is fixed and committed, and also got a fix for the
previosly segfault one,
but I need do some confirms before I commit it..
thanks
I found another segment fault on PHP 7 during CakePHP 3 tests. I reported
the issue on https://bugs.php.net/bug.php?id=68896Jan Ehrhardt in php.internals (Fri, 23 Jan 2015 22:18:50 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmBuild:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zipThe TS build is very much alike:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC11-x86.zipWhat you cannot see in
phpinfo()
is that php7apache2_4.dll and even
php7apache2_2.dll also compile fine.Maybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
--
--
Xinchen Hui
@Laruence
http://www.laruence.com/
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmBuild:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.zipMaybe there are other PECL extension that have PHP7 branches, unknown to
you and me.Jan
--
Hello,
may I use your build for testing my applications compability with PHP
7? I would like to try PHP 7, but I'm not really feeling like
compiling it by myself for Windows (I probably even don't have all the
tools needed for it); or is there a simple HOWTO for building it
myself?
Regards
Pavel Kouril
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htm
Dmitry is sort of right, actually. The plan is to merge phpng back into
master of course, and do legacy releases out of the R_2_* branches.
--
Regards,
Mike
Michael Wallner in php.internals (Sun, 25 Jan 2015 18:32:18 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmDmitry is sort of right, actually. The plan is to merge phpng back into
master of course, and do legacy releases out of the R_2_* branches.
But then we have the problem the other way around: you will have to
checkout special branches to compile for 5.x. Will that be 'phpog'?
Or is your plan to make a special version for PHP 5.x?
I noticed Joe Watkins has a 'five' branch besides master in pthreads.
Just guessing: is the 'five' for PHP 5.x and the master for PHP7?
We surely need a list of the extensions that have been ported to PHP7
and where to find them.
Jan
Jan Ehrhardt in php.internals (Mon, 26 Jan 2015 00:12:11 +0100):
Michael Wallner in php.internals (Sun, 25 Jan 2015 18:32:18 +0100):
Dmitry Stogov in php.internals (Fri, 23 Jan 2015 17:54:45 +0400):
"master" branch.
propro, raphf and pecl_http do not compile with the master branch.
You'll have to checkout the phpng branch. These extensions did compile
and load:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC11-x86.htmDmitry is sort of right, actually. The plan is to merge phpng back into
master of course, and do legacy releases out of the R_2_* branches.But then we have the problem the other way around: you will have to
checkout special branches to compile for 5.x. Will that be 'phpog'?
Or is your plan to make a special version for PHP 5.x?I noticed Joe Watkins has a 'five' branch besides master in pthreads.
Just guessing: is the 'five' for PHP 5.x and the master for PHP7?We surely need a list of the extensions that have been ported to PHP7
and where to find them.
And now imagick introduced a branch 'phpseven'...
Jan
We surely need a list of the extensions that have been ported to PHP7
and where to find them.
And now imagick introduced a branch 'phpseven'...
I've not yet managed to compile even the new imagick but I have been
doing my homework ...
http://php7.lsces.org.uk/ is running with php_interbase, while the base
http://lsces.org.uk/ is running via PHP5.4 Same code base, just two
different php-fpm compiles so the server stats on the right are a direct
comparison of performance.
Underlying framework is ADOdb, Smarty, Firebird and Nginx with a colour
version of Bootstrap3 as the base theme structure.
php_interbase is compiling with a number of warnings, but much less that
imagick and some of the other extensions.
http://php7.lsces.org.uk/phpinfo.php giving the breakdown.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
By installing a couple of apps (Wordpress-4.1, Drupal8 and Moodle -
there are still some issues in Moodle I haven't figured out yet) on a
box we've tracked down some bugs over the last couple of days. It would
be really useful if we got more eyes on this. Install php7, then install
any random app and see how it goes. Sometimes it is useful to flip back
and forth between 5.6 and 7 to check if a problem is php7-specific, so I
have php56-fpm sitting alongside php7-fpm and it is trivial to switch
back and forth.Hopefully everyone here knows how to compile from git and get things up
and running. But, if someone is good with building sharable container
images of some kind, that might be a nice contribution as well. An image
with clear instructions telling people to drop their app into
/var/www/whatever and add the appropriate nginx/apache vhost block and
they are set.-Rasmus
Failed assertion in DirectoryIterator_getExtension on '.' entry.
https://bugs.php.net/bug.php?id=68915