Bug #62954 [Com]: startup problems fpm / php-fpm

2012-09-05 Thread jonas at brachium-system dot net
Edit report at https://bugs.php.net/bug.php?id=62954&edit=1

 ID: 62954
 Comment by: jonas at brachium-system dot net
 Reported by:jonas at brachium-system dot net
 Summary:startup problems fpm / php-fpm
 Status: Feedback
 Type:   Bug
 Package:FPM related
 Operating System:   Linux
 PHP Version:5.3Git-2012-08-27 (Git)
 Assigned To:fat
 Block user comment: N
 Private report: N

 New Comment:

@David: Can you please explain, why an NGINX configuration option will solve 
that startup problem?


Previous Comments:

[2012-09-02 19:47:46] david at appliedautonomics dot com

Fixed on Debian Squeez via adding to fastcgi params:

fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;


[2012-09-02 16:43:24] per at techspot dot com

This bug occurs more frequently on heavily loaded websites.
On my testserver it is difficult to reproduce with a low load.
But on my live server doing a "service php-fpm restart" makes it fail most 
times.

For some reason the problem occurs less frequently in php-fpm 5.4.6 vs 5.3.16
opcode cachers also makes it occur more frequently, but it's possible to 
reproduce with no opcode cacher loaded aswell, same rules as above for 
frequency still apply (5.3 vs 5.4)
Output from testserver below running CentOS v6.3 with all patches applied and 
php v5.4 via the remi repository: 
http://rpms.famillecollet.com/enterprise/6/test/x86_64/

# php -v
PHP 5.4.6 (cli) (built: Aug 16 2012 14:26:39)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v2.0.1, Copyright (c) 2005-2012, by mOo

# DAEMON_COREFILE_LIMIT=unlimited strace -s1024 -f /etc/init.d/php-fpm restart 
2>&1 | grep -i SEGV

[pid  3017] rt_sigaction(SIGSEGV, {0x7fddd5050730, [SEGV], 
SA_RESTORER|SA_RESTART, 0x7fdddb55a920}, {SIG_DFL, [], 0}, 8) = 0
[pid  3017] rt_sigaction(SIGSEGV, {SIG_DFL, [SEGV], SA_RESTORER|SA_RESTART, 
0x7fdddb55a920},  
[pid  3017] <... rt_sigaction resumed> {0x7fddd5050730, [SEGV], 
SA_RESTORER|SA_RESTART, 0x7fdddb55a920}, 8) = 0


[2012-09-02 09:07:29] jonas at brachium-system dot net

PHP 5.3.16-dev (fpm-fcgi) (built: Sep  2 2012 04:56:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

I have tried it with the current branch PHP-5.3.

It started two times correctly (Starts and detaches) after the second start the 
problem occurs again.

So problem is not fixed - I have not tried 5.4 since fpm sapi is the same.


[2012-09-01 19:41:16] tony2...@php.net

I can't reproduce it here:
# /tmp/fpm/sbin/php-fpm -v
PHP 5.4.8-dev (fpm-fcgi) (built: Sep  1 2012 23:36:17) (DEBUG)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

It starts, spawns its children and detaches from terminal with no problem at 
all.
Can you try the latest snapshot and check if you still can reproduce the issue?


[2012-08-27 22:54:12] al-php at none dot at

same problem here.

./configure --prefix=// --enable-fpm --enable-bcmath --with-bz2 
--enable-calendar --with-curl --enable-dba --enable-exif --enable-ftp 
--enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-t1lib 
--with-freetype-dir --with-gettext --enable-mbstring --with-mcrypt --with-mhash 
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 
--enable-mysqlnd --with-openssl --with-pcre-regex --with-pspell --enable-shmop 
--enable-soap --enable-sockets --enable-sysvmsg --enable-wddx  --with-xsl 
--enable-zip --with-zlib --with-tcadb --with-openssl-dir --with-gd

###
bin/php -v
PHP 5.4.5 (cli) (built: Aug  8 2012 01:03:00)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
###

root@Ubuntu-1204-precise-64-minimal ~ # strace -fveall -p 2590 -p 2589
Process 2590 attached - interrupt to quit
Process 2589 attached - interrupt to quit
[pid  2589] wait4(-1,  
[pid  2590] futex(0x7fc2a4d73720, FUTEX_WAIT_PRIVATE, 2, NULL
###




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=62954


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62954&edit=1


Bug #61767 [PATCH]: Shutdown functions not called in certain error situation

2012-09-05 Thread dmi...@php.net
Edit report at https://bugs.php.net/bug.php?id=61767&edit=1

 ID: 61767
 Patch added by: dmi...@php.net
 Reported by:shiranai7 at hotmail dot com
 Summary:Shutdown functions not called in certain error
 situation
 Status: Analyzed
 Type:   Bug
 Package:Scripting Engine problem
 Operating System:   Win7
 PHP Version:5.4.0
 Assigned To:dmitry
 Block user comment: N
 Private report: N

 New Comment:

The following patch has been added/updated:

Patch Name: bug61767.diff
Revision:   1346832893
URL:
https://bugs.php.net/patch-display.php?bug=61767&patch=bug61767.diff&revision=1346832893


Previous Comments:

[2012-09-05 03:08:23] larue...@php.net

could you please look at this? 
since it is in shutdown pharse, then I think it's okey to suppress the 
exception?

thanks


[2012-05-28 16:49:06] shiranai7 at hotmail dot com

Still the same (unexpected) result in 5.4.3.

Error handler called
Fatal error: Call to a member function foo() on a non-object in ... on line ...


[2012-04-24 11:37:12] shiranai7 at hotmail dot com

I wonder if this fix will make it to the 5.4.1 release.


[2012-04-20 09:50:14] larue...@php.net

The following patch has been added/updated:

Patch Name: another_fix_for_bug61767.patch
Revision:   1334915414
URL:
https://bugs.php.net/patch-display.php?bug=61767&patch=another_fix_for_bug61767.patch&revision=1334915414


[2012-04-20 06:02:25] larue...@php.net

I attached a fix for this, maybe need dmitry to review it.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=61767


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=61767&edit=1


Bug #61767 [Ana]: Shutdown functions not called in certain error situation

2012-09-05 Thread dmitry
Edit report at https://bugs.php.net/bug.php?id=61767&edit=1

 ID: 61767
 Updated by: dmi...@php.net
 Reported by:shiranai7 at hotmail dot com
 Summary:Shutdown functions not called in certain error
 situation
 Status: Analyzed
 Type:   Bug
 Package:Scripting Engine problem
 Operating System:   Win7
 PHP Version:5.4.0
 Assigned To:dmitry
 Block user comment: N
 Private report: N

 New Comment:

I've added a patch that fixes the problem in different way. (bug61767.diff 
tested with 5.3 only)

In case of unhanded exception and following fatal error we just emit additional 
warning about uncaught exception before the fatal error. This solution doesn't 
miss exceptions (as another_fix_for_bug61767.patch) and doesn't require 
significant changes in VM (as bug61767.patch) that would affect PHP performance.

Please take a look.


Previous Comments:

[2012-09-05 08:14:53] dmi...@php.net

The following patch has been added/updated:

Patch Name: bug61767.diff
Revision:   1346832893
URL:
https://bugs.php.net/patch-display.php?bug=61767&patch=bug61767.diff&revision=1346832893


[2012-09-05 03:08:23] larue...@php.net

could you please look at this? 
since it is in shutdown pharse, then I think it's okey to suppress the 
exception?

thanks


[2012-05-28 16:49:06] shiranai7 at hotmail dot com

Still the same (unexpected) result in 5.4.3.

Error handler called
Fatal error: Call to a member function foo() on a non-object in ... on line ...


[2012-04-24 11:37:12] shiranai7 at hotmail dot com

I wonder if this fix will make it to the 5.4.1 release.


[2012-04-20 09:50:14] larue...@php.net

The following patch has been added/updated:

Patch Name: another_fix_for_bug61767.patch
Revision:   1334915414
URL:
https://bugs.php.net/patch-display.php?bug=61767&patch=another_fix_for_bug61767.patch&revision=1334915414




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=61767


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=61767&edit=1


Req #62162 [Com]: Autoloading for namespaces

2012-09-05 Thread judev at cuttlefish dot com
Edit report at https://bugs.php.net/bug.php?id=62162&edit=1

 ID: 62162
 Comment by: judev at cuttlefish dot com
 Reported by:lcfsoft at gmail dot com
 Summary:Autoloading for namespaces
 Status: Open
 Type:   Feature/Change Request
 Package:*General Issues
 PHP Version:5.4.4RC1
 Block user comment: N
 Private report: N

 New Comment:

> But still - weird, mostly useless and overkill to implement just because 
someone does not like :: in his identifier.

I disagree that this is mostly useless - far from it. If we had autoloading 
based 
on namespace access then namespace-based package/bundle management becomes 
trivial.
Frameworks are having to implement this themselves at present, to take an 
example 
from Laravel we have to call:
Laravel\Bundle::start($bundle_name);
before we can access code in that bundle. Would be great if instead we could 
use 
the existing language features and just use a namespace to automatically load 
that bundles code.


Previous Comments:

[2012-05-29 13:50:40] rpycka at gmail dot com

I would also like to see this feature, especially in the context of function 
autoloading and procedural programming.

1) It would make PP in PHP way more pleasant & effective (no need to spam 
guards like require_once, no need for indirect dispatchers, obviously, not 
loading code you don't need for particular request).
For a language that grew on procedural programming paradigm it's a shame 
development in this area has been stalled for so many years (afair nothing have 
changed since 4 in this regard).

2) There is a lot of code that could profit, e.g. Drupal.

3) Hacking with classes has its cons, eg. performance (what would be relative 
difference between direct function call vs static method call and indirect 
(callbacks)?).

4) How hard can it be? Checking for registered callback and running the 
procedure before firing error.

Proposed interface by shiranai7 at hotmail dot com looks ok.


[2012-05-28 18:24:24] shiranai7 at hotmail dot com

lcfsoft at gmail dot com,

>>> Zend_Crypt_Math_BigInteger_Bcmath, because, you see, the functionality is 
>>> IDENTICAL to what  we have with Zend\Crypt\Math\BigInteger\Bcmath now.

Yes, namespaces were introduced as a better alternative to ugly identifier 
prefixes. But this has nothing to do with "autoloading functions".

--

My point is that this approach is rather unusual. Bunch of class-less functions 
defined in a file is like pre-php 5 procedural code. Of course I am in no 
position to tell anyone what is the correct way to organise their code or even 
decide whether this will get eventually implemented or not.

My proposal for this would be something like:

  spl_function_autoload_register( callback(function) )
and
  spl_constant_autoload_register( callback(constant) )
or
  spl_ns_autoload_register( callback(namespace, property ,type) )

But still - weird, mostly useless and overkill to implement just because 
someone does not like :: in his identifier.


[2012-05-28 16:56:10] lcfsoft at gmail dot com

shiranai7 at hotmail dot com,

If your mindset towards this problem was valid we wouldn't need to have 
namespaces 
introduced and implemented in the first place. We would all be fine with those 
Zend_Crypt_Math_BigInteger_Bcmath, because, you see, the functionality is 
IDENTICAL to what 
we have with Zend\Crypt\Math\BigInteger\Bcmath now.

If I need to make an abstract static class's method instead of a function to 
achieve 
something - it's nothing but a hack. It may work, it may work the same way - 
but 
it's a 
hack.
 So yes, I really do need that "\" instead of "::".

>> You cannot expect anything to be loaded just by an "use" statement. It just 
defines a 
local alias for a class or namespace. The classes get loaded only when they are 
actually 
used.

What you said here, however, is correct. So, yes, it may not be so trivial as 
adding another 
line of code.

But it's important I believe. Why limit PHP developers to classes? If you want 
to know why 
we shouldn't - check out any other decent programming language e.g. Python. 

Yes, autoloading for classes exclusively might work before as we didn't have 
any 
sort of 
namespaces/packages AT ALL - but now we do and this should be revisited.


[2012-05-28 16:23:58] shiranai7 at hotmail dot com

lcfsoft at gmail dot com,
You cannot expect anything to be loaded just by an "use" statement. It just 
defines a local alias for a class or namespace. The classes get loaded only 
when they are actually used.

Based on your example I think that you are looking for a way to "autoload 
functions". While it could possibly be handy in 

[PHP-BUG] Bug #63013 [NEW]: Error not thrown with constructor call

2012-09-05 Thread samu dot voutilainen at gmail dot com
From: samu dot voutilainen at gmail dot com
Operating system: Linux
PHP version:  5.4.6
Package:  *General Issues
Bug Type: Bug
Bug description:Error not thrown with constructor call

Description:

When inheriting from a class and calling constructor with invalid
arguments, it won’t throw any error, but die silently. There is no
information in web server log or PHP-FPM’s logs and nothing is returned
to client either.



Test script:
---
class SlamObject {

}

class Utility extends SlamObject {

}

abstract class AbstractHandler extends Utility {

protected $version;

protected $session;

protected $output;

public function __construct($session, $output, $version) {
$this->session = $session;
$this->output = $output;
$this->version = $version;
}

}

class Foo extends AbstractClass {

}

$foo = new Foo();

Expected result:

At the point of Foo, fatal error is thrown telling that you called
constructor with wrong arguments.

Actual result:
--
Silent death at this point with no information anywhere.

-- 
Edit bug report at https://bugs.php.net/bug.php?id=63013&edit=1
-- 
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=63013&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=63013&r=trysnapshot53
Try a snapshot (trunk):  
https://bugs.php.net/fix.php?id=63013&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=63013&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=63013&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=63013&r=alreadyfixed
Need backtrace:  
https://bugs.php.net/fix.php?id=63013&r=needtrace
Need Reproduce Script:   
https://bugs.php.net/fix.php?id=63013&r=needscript
Try newer version:   
https://bugs.php.net/fix.php?id=63013&r=oldversion
Not developer issue: 
https://bugs.php.net/fix.php?id=63013&r=support
Expected behavior:   
https://bugs.php.net/fix.php?id=63013&r=notwrong
Not enough info: 
https://bugs.php.net/fix.php?id=63013&r=notenoughinfo
Submitted twice: 
https://bugs.php.net/fix.php?id=63013&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=63013&r=globals
PHP 4 support discontinued:  
https://bugs.php.net/fix.php?id=63013&r=php4
Daylight Savings:https://bugs.php.net/fix.php?id=63013&r=dst
IIS Stability:   
https://bugs.php.net/fix.php?id=63013&r=isapi
Install GNU Sed: 
https://bugs.php.net/fix.php?id=63013&r=gnused
Floating point limitations:  
https://bugs.php.net/fix.php?id=63013&r=float
No Zend Extensions:  
https://bugs.php.net/fix.php?id=63013&r=nozend
MySQL Configuration Error:   
https://bugs.php.net/fix.php?id=63013&r=mysqlcfg



Bug #63013 [Opn]: Error not thrown with constructor call

2012-09-05 Thread samu dot voutilainen at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=63013&edit=1

 ID: 63013
 User updated by:samu dot voutilainen at gmail dot com
 Reported by:samu dot voutilainen at gmail dot com
 Summary:Error not thrown with constructor call
 Status: Open
 Type:   Bug
 Package:*General Issues
 Operating System:   Linux
 PHP Version:5.4.6
 Block user comment: N
 Private report: N

 New Comment:

Also the code I have uses namespaces.


Previous Comments:

[2012-09-05 10:37:20] samu dot voutilainen at gmail dot com

Description:

When inheriting from a class and calling constructor with invalid arguments, it 
won’t throw any error, but die silently. There is no information in web 
server log or PHP-FPM’s logs and nothing is returned to client either.



Test script:
---
class SlamObject {

}

class Utility extends SlamObject {

}

abstract class AbstractHandler extends Utility {

protected $version;

protected $session;

protected $output;

public function __construct($session, $output, $version) {
$this->session = $session;
$this->output = $output;
$this->version = $version;
}

}

class Foo extends AbstractClass {

}

$foo = new Foo();

Expected result:

At the point of Foo, fatal error is thrown telling that you called constructor 
with wrong arguments.

Actual result:
--
Silent death at this point with no information anywhere.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63013&edit=1


Bug #51558 [Com]: configuration script fails at building readline shared library module

2012-09-05 Thread lzsiga at freemail dot c3 dot hu
Edit report at https://bugs.php.net/bug.php?id=51558&edit=1

 ID: 51558
 Comment by: lzsiga at freemail dot c3 dot hu
 Reported by:cremator at mail dot bg
 Summary:configuration script fails at building readline
 shared library module
 Status: Open
 Type:   Bug
 Package:Compile Failure
 Operating System:   AIX 5.3 oslevel -r 5300-11
 PHP Version:5.3, 5.4, trunk
 Block user comment: N
 Private report: N

 New Comment:

I've tested php-5.4.6, and wow, someone has done something: a space has been 
inserted between 'rl_pending_input' and '()'.

True, the problem still exists, but the patch had to be changed:

old: sed_repl 's;rl_pending_input();rl_pending_input;g' configure
old: sed_repl 's;rl_pending_input ();rl_pending_input;g' configure


Previous Comments:

[2012-04-19 06:21:31] 24226495 at qq dot com

hi,guys

I need some help for php..
the problem issue:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs 
--with-pear=/usr/share/php --with-zlib-dir --with-bz2 --with-libxml-dir=/usr 
--with-gd --enable-gd-native-ttf --enable-gd-jis-conv 
--with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg7 
--with-png-dir --enable-mbstring --with-config-file-path=/etc --with-iconv 
--disable-ipv6 --enable-maintainer-zts -enable-zend-multibyte 
--enable-inline-optimization --enable-zend-multibyte --enable-sockets 
--enable-soap

it will show : Thank you for using PHP..

but I can't make it
the error message:
-lm -ldl -lnsl -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm 
-lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt  -o libphp5.la
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: 
/usr/local/lib/libpng.a(png.o): relocation R_X86_64_32 against `a local symbol' 
can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpng.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

what should I to do for this?

more: if I don't use something about --with-apxs..it will good work for 
make..like that:
./configure --prefix=/usr/local/php --with-pear=/usr/share/php .


[2012-01-30 05:42:26] lzsiga at freemail dot c3 dot hu

Basically the problem is that ./configure checks for function 
'rl_pending_input', which happens to be a variable. In AIX variables and 
functions are exported differently, so the detection fails.

In Aix, functions and variables are exported differently, which prevents ld 
from resolving a variable as a function.

nm -Bgx /usr/local/lib/libreadline.so | grep rl_pending_input # variable
0x20003338 D rl_pending_input

 nm -Bgx /usr/local/lib/libreadline.so | grep rl_yank_pop # function
0x10031acc T .rl_yank_pop
0x20003f58 D rl_yank_pop

(So it is only 'D' for variables, both 'T' and 'D' for functions.)


[2012-01-27 21:09:31] fel...@php.net

We got a new feedback from another reported bug related to this issue:

"Bug #60881 readline detection fails because of rl_pending_input variable"


[2010-06-08 14:13:28] tony2...@php.net

What's in your config.log? I do not mean to paste it all, but I need to see the 
parts related to readline and rl_pending_input() in particular. Put config.log 
online, if possible.
I guess your lib is broken or was built in a wrong way.


[2010-04-15 10:50:05] cremator at mail dot bg

Description:

readline shared library 6.0 has been build on aix with gcc 4.2.0, gnu make 
3.80, shared library ncurses 5.7, following a bit the guide at 
http://www.tekwire.net/joomla/building/apache/http_AIX_5.2.htm#p2.29
Everything seems to be working except that readline.h include file doesn't cope 
well with php 5.3.2 configure script. After downgrade php to 5.2.6 and patching 
it for openssl 1.0 everything works like it should.
excuse my bad english and my less than little knowledge in coding

Expected result:

Thank you for using PHP.

Actual result:
--
checking for libedit readline replacement... no
checking for readline support... yes, shared
checking for tgetent in -lncurses... yes
checking for readline in -lreadline... yes
checking for rl_pending_input in -lreadline... no
configure: error: invalid readline installation detected. Try --with-libedit 
instead.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=51558&edit=1


Bug #63013 [Opn]: Error not thrown with constructor call

2012-09-05 Thread laruence
Edit report at https://bugs.php.net/bug.php?id=63013&edit=1

 ID: 63013
 Updated by: larue...@php.net
 Reported by:samu dot voutilainen at gmail dot com
 Summary:Error not thrown with constructor call
 Status: Open
 Type:   Bug
 Package:*General Issues
 Operating System:   Linux
 PHP Version:5.4.6
 Block user comment: N
 Private report: N

 New Comment:

PHP will warn you:

PHP Warning:  Missing argument 1 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 2 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 3 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18


Previous Comments:

[2012-09-05 10:41:20] samu dot voutilainen at gmail dot com

Also the code I have uses namespaces.


[2012-09-05 10:37:20] samu dot voutilainen at gmail dot com

Description:

When inheriting from a class and calling constructor with invalid arguments, it 
won’t throw any error, but die silently. There is no information in web 
server log or PHP-FPM’s logs and nothing is returned to client either.



Test script:
---
class SlamObject {

}

class Utility extends SlamObject {

}

abstract class AbstractHandler extends Utility {

protected $version;

protected $session;

protected $output;

public function __construct($session, $output, $version) {
$this->session = $session;
$this->output = $output;
$this->version = $version;
}

}

class Foo extends AbstractClass {

}

$foo = new Foo();

Expected result:

At the point of Foo, fatal error is thrown telling that you called constructor 
with wrong arguments.

Actual result:
--
Silent death at this point with no information anywhere.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63013&edit=1


[PHP-BUG] Bug #63015 [NEW]: Incorrect arginfo for DOMErrorHandler

2012-09-05 Thread Jared dot Williams1 at ntlworld dot com
From: Jared dot Williams1 at ntlworld dot com
Operating system: Irrelevant 
PHP version:  5.4.6
Package:  DOM XML related
Bug Type: Bug
Bug description:Incorrect arginfo for DOMErrorHandler

Description:

Arg info for the DOMErrorHandler contains as class hint for DOMError

http://lxr.php.net/xref/PHP_5_4/ext/dom/domerrorhandler.c#30

Which is undefined. I suspect it should mean DOMDomError ? 


-- 
Edit bug report at https://bugs.php.net/bug.php?id=63015&edit=1
-- 
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=63015&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=63015&r=trysnapshot53
Try a snapshot (trunk):  
https://bugs.php.net/fix.php?id=63015&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=63015&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=63015&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=63015&r=alreadyfixed
Need backtrace:  
https://bugs.php.net/fix.php?id=63015&r=needtrace
Need Reproduce Script:   
https://bugs.php.net/fix.php?id=63015&r=needscript
Try newer version:   
https://bugs.php.net/fix.php?id=63015&r=oldversion
Not developer issue: 
https://bugs.php.net/fix.php?id=63015&r=support
Expected behavior:   
https://bugs.php.net/fix.php?id=63015&r=notwrong
Not enough info: 
https://bugs.php.net/fix.php?id=63015&r=notenoughinfo
Submitted twice: 
https://bugs.php.net/fix.php?id=63015&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=63015&r=globals
PHP 4 support discontinued:  
https://bugs.php.net/fix.php?id=63015&r=php4
Daylight Savings:https://bugs.php.net/fix.php?id=63015&r=dst
IIS Stability:   
https://bugs.php.net/fix.php?id=63015&r=isapi
Install GNU Sed: 
https://bugs.php.net/fix.php?id=63015&r=gnused
Floating point limitations:  
https://bugs.php.net/fix.php?id=63015&r=float
No Zend Extensions:  
https://bugs.php.net/fix.php?id=63015&r=nozend
MySQL Configuration Error:   
https://bugs.php.net/fix.php?id=63015&r=mysqlcfg



Bug #63015 [Opn]: Incorrect arginfo for DOMErrorHandler

2012-09-05 Thread laruence
Edit report at https://bugs.php.net/bug.php?id=63015&edit=1

 ID: 63015
 Updated by: larue...@php.net
 Reported by:Jared dot Williams1 at ntlworld dot com
 Summary:Incorrect arginfo for DOMErrorHandler
 Status: Open
 Type:   Bug
 Package:DOM XML related
 Operating System:   Irrelevant
 PHP Version:5.4.6
-Assigned To:
+Assigned To:chregu
 Block user comment: N
 Private report: N

 New Comment:

yes,, very likely, assign to the author :),

chregu, could you confirm this? thanks


Previous Comments:

[2012-09-05 13:52:29] Jared dot Williams1 at ntlworld dot com

Description:

Arg info for the DOMErrorHandler contains as class hint for DOMError

http://lxr.php.net/xref/PHP_5_4/ext/dom/domerrorhandler.c#30

Which is undefined. I suspect it should mean DOMDomError ? 







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63015&edit=1


Bug #63013 [Opn]: Error not thrown with constructor call

2012-09-05 Thread samu dot voutilainen at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=63013&edit=1

 ID: 63013
 User updated by:samu dot voutilainen at gmail dot com
 Reported by:samu dot voutilainen at gmail dot com
 Summary:Error not thrown with constructor call
 Status: Open
 Type:   Bug
 Package:*General Issues
 Operating System:   Linux
 PHP Version:5.4.6
 Block user comment: N
 Private report: N

 New Comment:

I don’t get the warnings for the case I had; this simpler example does 
though. I’ll construct an example with proper namespaces to see if it causes 
it.


Previous Comments:

[2012-09-05 13:20:23] larue...@php.net

PHP will warn you:

PHP Warning:  Missing argument 1 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 2 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 3 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18


[2012-09-05 10:41:20] samu dot voutilainen at gmail dot com

Also the code I have uses namespaces.


[2012-09-05 10:37:20] samu dot voutilainen at gmail dot com

Description:

When inheriting from a class and calling constructor with invalid arguments, it 
won’t throw any error, but die silently. There is no information in web 
server log or PHP-FPM’s logs and nothing is returned to client either.



Test script:
---
class SlamObject {

}

class Utility extends SlamObject {

}

abstract class AbstractHandler extends Utility {

protected $version;

protected $session;

protected $output;

public function __construct($session, $output, $version) {
$this->session = $session;
$this->output = $output;
$this->version = $version;
}

}

class Foo extends AbstractClass {

}

$foo = new Foo();

Expected result:

At the point of Foo, fatal error is thrown telling that you called constructor 
with wrong arguments.

Actual result:
--
Silent death at this point with no information anywhere.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63013&edit=1


Req #62860 [Com]: Moar magic methods! __constructStatic(), __getStatic(), __setStatic(), __get

2012-09-05 Thread matthew dot bonner at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=62860&edit=1

 ID: 62860
 Comment by: matthew dot bonner at gmail dot com
 Reported by:michaelduff2 at yahoo dot com
 Summary:Moar magic methods! __constructStatic(),
 __getStatic(), __setStatic(), __get
 Status: Open
 Type:   Feature/Change Request
 Package:*General Issues
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

The additional magic methods with static support have been requested over and 
over for well over 5 years now. Is PHP a dying language because the developers 
don't have the time to provide essential functionality?

There are so many hacks going about now to try and provide essential 
functionality and there is so much messy code all over the place to support 
what should be part of PHP 5 as standard.

Sorry for my raving and ranting but the reputation of PHP is being severely 
damaged by not providing the essentials.

.NET has static accessor and mutator support, Java does too. All the big 
languages do apart from PHP.

class PLEASE_SUPPORT_AT_A_MINIMUM {
  public static function __construct () {}
  public static function __set ($propertyName, $propertyValue) {}
  public static function __get ($propertyName) {}

  public function setConstDynamically () {
const Foo = 'foo';
echo self::Foo;
  }
}

Otherwise I will fork PHP and provide this essential functionality myself which 
will ultimately result in the death of the original PHP.


Previous Comments:

[2012-08-18 20:03:22] michaelduff2 at yahoo dot com

Description:

__constructStatic() - executed automatically on class definition

__getStatic() - executed when ClassName::$inaccessible_property is fetched

__setStatic() - executed when ClassName::$inaccessible_property is modified


The particular use case I have for this is self-loading configuration registry 
singletons:



Currently, I accomplish this with __callStatic() which needs the extra 
open-close parenthesis.  Ideally, we could get rid of the '$' too, but that 
would need some __getConst() magic, which is just madness.







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62860&edit=1


Req #62860 [Com]: Moar magic methods! __constructStatic(), __getStatic(), __setStatic(), __get

2012-09-05 Thread matthew dot bonner at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=62860&edit=1

 ID: 62860
 Comment by: matthew dot bonner at gmail dot com
 Reported by:michaelduff2 at yahoo dot com
 Summary:Moar magic methods! __constructStatic(),
 __getStatic(), __setStatic(), __get
 Status: Open
 Type:   Feature/Change Request
 Package:*General Issues
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

I would like to add that being magic methods, it would be nice if they could do 
a little more magic, ie:

class Classy {
  public static $foo = 'foo';
  public $bar = 'bar';

  public static function __get ($propertyName) {
return $this->$propertyName;
  }

  public function __get ($propertyName) {
return self::$propertyName;
  }
}

echo Classy::$foo; // outputs "foo"
$classy = new Classy;
echo $classy->bar; // outputs "bar"


Previous Comments:

[2012-09-05 15:06:06] matthew dot bonner at gmail dot com

The additional magic methods with static support have been requested over and 
over for well over 5 years now. Is PHP a dying language because the developers 
don't have the time to provide essential functionality?

There are so many hacks going about now to try and provide essential 
functionality and there is so much messy code all over the place to support 
what should be part of PHP 5 as standard.

Sorry for my raving and ranting but the reputation of PHP is being severely 
damaged by not providing the essentials.

.NET has static accessor and mutator support, Java does too. All the big 
languages do apart from PHP.

class PLEASE_SUPPORT_AT_A_MINIMUM {
  public static function __construct () {}
  public static function __set ($propertyName, $propertyValue) {}
  public static function __get ($propertyName) {}

  public function setConstDynamically () {
const Foo = 'foo';
echo self::Foo;
  }
}

Otherwise I will fork PHP and provide this essential functionality myself which 
will ultimately result in the death of the original PHP.


[2012-08-18 20:03:22] michaelduff2 at yahoo dot com

Description:

__constructStatic() - executed automatically on class definition

__getStatic() - executed when ClassName::$inaccessible_property is fetched

__setStatic() - executed when ClassName::$inaccessible_property is modified


The particular use case I have for this is self-loading configuration registry 
singletons:



Currently, I accomplish this with __callStatic() which needs the extra 
open-close parenthesis.  Ideally, we could get rid of the '$' too, but that 
would need some __getConst() magic, which is just madness.







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62860&edit=1


Req #62860 [Com]: Moar magic methods! __constructStatic(), __getStatic(), __setStatic(), __get

2012-09-05 Thread matthew dot bonner at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=62860&edit=1

 ID: 62860
 Comment by: matthew dot bonner at gmail dot com
 Reported by:michaelduff2 at yahoo dot com
 Summary:Moar magic methods! __constructStatic(),
 __getStatic(), __setStatic(), __get
 Status: Open
 Type:   Feature/Change Request
 Package:*General Issues
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

Sorry in my last example there was a typo, and what I meant was:
I would like to add that being magic methods, it would be nice if they could do 
a little more magic, ie:

class Classy {
  public static $foo = 'foo';
  public $bar = 'bar';

  public static function __get ($propertyName) {
return self::$propertyName;
  }

  public function __get ($propertyName) {
return $this->$propertyName;
  }
}

echo Classy::$foo; // outputs "foo"
$classy = new Classy;
echo $classy->bar; // outputs "bar"


Previous Comments:

[2012-09-05 15:10:36] matthew dot bonner at gmail dot com

I would like to add that being magic methods, it would be nice if they could do 
a little more magic, ie:

class Classy {
  public static $foo = 'foo';
  public $bar = 'bar';

  public static function __get ($propertyName) {
return $this->$propertyName;
  }

  public function __get ($propertyName) {
return self::$propertyName;
  }
}

echo Classy::$foo; // outputs "foo"
$classy = new Classy;
echo $classy->bar; // outputs "bar"


[2012-09-05 15:06:06] matthew dot bonner at gmail dot com

The additional magic methods with static support have been requested over and 
over for well over 5 years now. Is PHP a dying language because the developers 
don't have the time to provide essential functionality?

There are so many hacks going about now to try and provide essential 
functionality and there is so much messy code all over the place to support 
what should be part of PHP 5 as standard.

Sorry for my raving and ranting but the reputation of PHP is being severely 
damaged by not providing the essentials.

.NET has static accessor and mutator support, Java does too. All the big 
languages do apart from PHP.

class PLEASE_SUPPORT_AT_A_MINIMUM {
  public static function __construct () {}
  public static function __set ($propertyName, $propertyValue) {}
  public static function __get ($propertyName) {}

  public function setConstDynamically () {
const Foo = 'foo';
echo self::Foo;
  }
}

Otherwise I will fork PHP and provide this essential functionality myself which 
will ultimately result in the death of the original PHP.


[2012-08-18 20:03:22] michaelduff2 at yahoo dot com

Description:

__constructStatic() - executed automatically on class definition

__getStatic() - executed when ClassName::$inaccessible_property is fetched

__setStatic() - executed when ClassName::$inaccessible_property is modified


The particular use case I have for this is self-loading configuration registry 
singletons:



Currently, I accomplish this with __callStatic() which needs the extra 
open-close parenthesis.  Ideally, we could get rid of the '$' too, but that 
would need some __getConst() magic, which is just madness.







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62860&edit=1


Bug #62954 [Com]: startup problems fpm / php-fpm

2012-09-05 Thread rainer-phpbugs at 7val dot com
Edit report at https://bugs.php.net/bug.php?id=62954&edit=1

 ID: 62954
 Comment by: rainer-phpbugs at 7val dot com
 Reported by:jonas at brachium-system dot net
 Summary:startup problems fpm / php-fpm
 Status: Feedback
 Type:   Bug
 Package:FPM related
 Operating System:   Linux
 PHP Version:5.3Git-2012-08-27 (Git)
 Assigned To:fat
 Block user comment: N
 Private report: N

 New Comment:

I can reproduce this problem with php 5.3.16 on SLES 11.2 x86_64 (after about 
20 attempts on average), but not on Ubuntu 12.04.1 x86_64 or Centos (RHEL) 6.3 
(no problem after more than 2000 restarts each).

remove_usr1_usr2_fpm_unix.patch reliably fixes this problem for me.

gdb backtraces of the hanging process always look like this (taken on opensuse 
11 i386):

#0  0xe424 in __kernel_vsyscall ()
#1  0xb4fe3e53 in __lll_lock_wait_private () from /lib/libc.so.6
#2  0xb4f762fb in _L_lock_10372 () from /lib/libc.so.6
#3  0xb4f74a66 in free () from /lib/libc.so.6
#4  0xb42fcd66 in pcrecpp::RE::Cleanup() () from /usr/lib/libpcrecpp.so.0
#5  0xb42fce02 in pcrecpp::RE::~RE() () from /usr/lib/libpcrecpp.so.0
#6  0xb4f3089f in __run_exit_handlers () from /lib/libc.so.6
#7  0xb4f308fd in exit () from /lib/libc.so.6
#8  0x084c382f in fpm_signals_sighandler_exit_ok (pid=10) at 
build/src/external/php-5.3.16/sapi/fpm/fpm/fpm_signals.c:254
#9  
#10 0xb4f70701 in _int_free () from /lib/libc.so.6
#11 0xb4f74a6d in free () from /lib/libc.so.6
#12 0x08426de0 in zend_hash_destroy (ht=0x891088c) at 
build/src/external/php-5.3.16/Zend/zend_hash.c:532
#13 0x08404762 in destroy_zend_class (pce=0x8911cb4) at 
build/src/external/php-5.3.16/Zend/zend_opcode.c:206
#14 0x08426dc8 in zend_hash_destroy (ht=0x87aa490) at 
build/src/external/php-5.3.16/Zend/zend_hash.c:529
#15 0x08414ed7 in zend_shutdown () at 
build/src/external/php-5.3.16/Zend/zend.c:762
#16 0x083a84da in php_module_shutdown () at 
build/src/external/php-5.3.16/main/main.c:2210
#17 0x084bf608 in fpm_php_cleanup (which=2, arg=0x0) at 
build/src/external/php-5.3.16/sapi/fpm/fpm/fpm_php.c:199
#18 0x084b5f0c in fpm_cleanups_run (type=2) at 
build/src/external/php-5.3.16/sapi/fpm/fpm/fpm_cleanup.c:45
#19 0x084c6c73 in fpm_unix_init_main () at 
build/src/external/php-5.3.16/sapi/fpm/fpm/fpm_unix.c:340
#20 0x084b4fe8 in fpm_init (argc=3, argv=0xbffb2fe4, config=0xbffb50a5 
"conf/php-fpm.conf", prefix=0x0, pid=0x0, test_conf=0, 
run_as_root=0) at build/src/external/php-5.3.16/sapi/fpm/fpm/fpm.c:59
#21 0x084be0f5 in main (argc=3, argv=0xbffb2fe4) at 
build/src/external/php-5.3.16/sapi/fpm/fpm/fpm_main.c:1805


Previous Comments:

[2012-09-05 07:25:26] jonas at brachium-system dot net

@David: Can you please explain, why an NGINX configuration option will solve 
that startup problem?


[2012-09-02 19:47:46] david at appliedautonomics dot com

Fixed on Debian Squeez via adding to fastcgi params:

fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;


[2012-09-02 16:43:24] per at techspot dot com

This bug occurs more frequently on heavily loaded websites.
On my testserver it is difficult to reproduce with a low load.
But on my live server doing a "service php-fpm restart" makes it fail most 
times.

For some reason the problem occurs less frequently in php-fpm 5.4.6 vs 5.3.16
opcode cachers also makes it occur more frequently, but it's possible to 
reproduce with no opcode cacher loaded aswell, same rules as above for 
frequency still apply (5.3 vs 5.4)
Output from testserver below running CentOS v6.3 with all patches applied and 
php v5.4 via the remi repository: 
http://rpms.famillecollet.com/enterprise/6/test/x86_64/

# php -v
PHP 5.4.6 (cli) (built: Aug 16 2012 14:26:39)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v2.0.1, Copyright (c) 2005-2012, by mOo

# DAEMON_COREFILE_LIMIT=unlimited strace -s1024 -f /etc/init.d/php-fpm restart 
2>&1 | grep -i SEGV

[pid  3017] rt_sigaction(SIGSEGV, {0x7fddd5050730, [SEGV], 
SA_RESTORER|SA_RESTART, 0x7fdddb55a920}, {SIG_DFL, [], 0}, 8) = 0
[pid  3017] rt_sigaction(SIGSEGV, {SIG_DFL, [SEGV], SA_RESTORER|SA_RESTART, 
0x7fdddb55a920},  
[pid  3017] <... rt_sigaction resumed> {0x7fddd5050730, [SEGV], 
SA_RESTORER|SA_RESTART, 0x7fdddb55a920}, 8) = 0


[2012-09-02 09:07:29] jonas at brachium-system dot net

PHP 5.3.16-dev (fpm-fcgi) (built: Sep  2 2012 04:56:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

I have tried it with the current branch PHP-5.3.

It started two times correctly (Starts and detaches) after the second start 

[PHP-BUG] Bug #63017 [NEW]: sapi/cli/php not build: Undefined symbol: php_register_internal_extension

2012-09-05 Thread lzsiga at freemail dot c3 dot hu
From: lzsiga at freemail dot c3 dot hu
Operating system: AIX-5.2
PHP version:  5.4.6
Package:  Compile Failure
Bug Type: Bug
Bug description:sapi/cli/php not build: Undefined symbol: 
php_register_internal_extension

Description:

There is a line in the main Makefile that defines how to create php.sym and
sapi/cli/php

It goes like this:

BUILD_CLI = (generate php.sym from $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS)
$(PHP_CLI_OBJS)) &&
(link executable sapi/php/cli from $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS) etc)

The problem is $(PHP_BINARY_OBJS) that is in the first list, but not in the
second. It either should be removed from the first list, or added to the
second.

PS: Exactly the same goes for BUILD_CLI

PPS: The problem doesn't exist in 5.3.x


-- 
Edit bug report at https://bugs.php.net/bug.php?id=63017&edit=1
-- 
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=63017&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=63017&r=trysnapshot53
Try a snapshot (trunk):  
https://bugs.php.net/fix.php?id=63017&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=63017&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=63017&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=63017&r=alreadyfixed
Need backtrace:  
https://bugs.php.net/fix.php?id=63017&r=needtrace
Need Reproduce Script:   
https://bugs.php.net/fix.php?id=63017&r=needscript
Try newer version:   
https://bugs.php.net/fix.php?id=63017&r=oldversion
Not developer issue: 
https://bugs.php.net/fix.php?id=63017&r=support
Expected behavior:   
https://bugs.php.net/fix.php?id=63017&r=notwrong
Not enough info: 
https://bugs.php.net/fix.php?id=63017&r=notenoughinfo
Submitted twice: 
https://bugs.php.net/fix.php?id=63017&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=63017&r=globals
PHP 4 support discontinued:  
https://bugs.php.net/fix.php?id=63017&r=php4
Daylight Savings:https://bugs.php.net/fix.php?id=63017&r=dst
IIS Stability:   
https://bugs.php.net/fix.php?id=63017&r=isapi
Install GNU Sed: 
https://bugs.php.net/fix.php?id=63017&r=gnused
Floating point limitations:  
https://bugs.php.net/fix.php?id=63017&r=float
No Zend Extensions:  
https://bugs.php.net/fix.php?id=63017&r=nozend
MySQL Configuration Error:   
https://bugs.php.net/fix.php?id=63017&r=mysqlcfg



Req #46128 [Com]: Magic function __cast($to)

2012-09-05 Thread maciej dot sz at gmail dot com
Edit report at https://bugs.php.net/bug.php?id=46128&edit=1

 ID: 46128
 Comment by: maciej dot sz at gmail dot com
 Reported by:131 dot php at cloudyks dot org
 Summary:Magic function __cast($to)
 Status: Open
 Type:   Feature/Change Request
 Package:Feature/Change Request
 Operating System:   Linux
 PHP Version:5.2.6
 Block user comment: N
 Private report: N

 New Comment:

I think we all need this badly. It just suits the direction in which the 5.4 is 
going.

Regarding same functionality I think it is worth nothing that the conversion to 
boolean should be implicit. Otherwise such code could not work:

isSuccessful());
check($resp); // this would fail without the cast if the conversion was explicit
?>


Previous Comments:

[2012-09-04 14:18:13] qfox at ya dot ru

WHEEN?!!
There was 3 years to patch sources!


[2011-01-20 22:54:12] neoegm at hotmail dot com

This would be very useful in order to be able to define a specific evaluation 
method for an object as a boolean, to, for example, simplify if-switches, so 
you can just do:

if ($obj)
{
//...
}

Here an example of a class which toggles its own value each time it's evaluated 
as a boolean:

class ToggleObj
{
var $val = FALSE;

function __toBool()
{
$ret = $this->val;
$this->val = !$ret;
return $ret;
}
}

$obj = new ToggleObj;

if ($obj)
{
//Does not enter
}

if ($obj)
{
//Now it does
}


Or going further, to make even table rows highlighted:

foreach ($rows as $row)
{
?>
">


http://www.neoegm.com/


[2009-03-28 12:41:30] andrea at 3site dot it

I wonder why you guys do not implement in core the PECL php_operator which 
would make code style and life much easier.

I cannot imagine a Number class which needs (int)$obj for every single 
operation.
Please do not get me wrong, __cast is a good idea, but it covers only explicit 
cases while every other decent language (C#, Java, Python) allows developer to 
implement implic cast behavior as well.

This, in PHP 5.3, would be excellent (but probaly an illusion thou).
Regards


[2009-02-06 00:11:19] rayro at gmx dot de

This is such a nice Implementation and very useful, but i prefer to add the 
methods __toBool, __toInt and __toArray rather than __cast, stay tuned with 
PHP's other magic methods..

I dont agree fully with that post in feature request #38508 from helly. If 
that'll be the way, why did the decision for magic methods?
Isnt that all complex although? ^^
We know, but in my eyes (and many others), i think that these magically stuff 
is one of the top key features for php. And none of these features will become 
critism i think. If not needed, just dont use them!

The additional goody __toInvoke() introduced in 5_3 is a such nice addition for 
developing "quick gets" based on nested object sets:
getArticles();
// old way
$magazine->getArticle($magazine->useMagazine(3));
?>
This helper is a "backdoor" like way to enable PHP to fully write nested 
Objects like in Javascript. And my opinion for that: I LIKE THIS :)

I think this is a very very discussable topic to the changes for 5_3 or 6_0 
beside the wanted support for traditional type hinting and utf8!

thanks


[2008-11-23 09:01:02] mark at hell dot ne dot jp

Please test the following extension :

http://ookoo.org/svn/snip/phpcastable/

This extension adds a "Castable" interface. Any class implementing this 
interface have to implement a __cast() function. This function will be called 
when the object needs to be casted to a type.

This extension is EXPERIMENTAL and needs more testing/review before being used 
in any production system.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

https://bugs.php.net/bug.php?id=46128


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=46128&edit=1


Req #63020 [Opn]: Dynamic functions & methods unification

2012-09-05 Thread aharvey
Edit report at https://bugs.php.net/bug.php?id=63020&edit=1

 ID: 63020
 Updated by: ahar...@php.net
 Reported by:p dot szymkowski at gmail dot com
 Summary:Dynamic functions & methods unification
 Status: Open
 Type:   Feature/Change Request
-Package:Documentation problem
+Package:Scripting Engine problem
 Operating System:   Any
 PHP Version:5.4.6
 Block user comment: N
 Private report: N

 New Comment:

I'd be surprised if we didn't have bugs/requests for this already, but I can't 
find them at a glance, so let's leave this open in the right package.

The AST RFC might be of interest here, since it would presumably provide a path 
towards fixing this: 
https://wiki.php.net/rfc/ast_based_parsing_compilation_process


Previous Comments:

[2012-09-05 20:21:07] p dot szymkowski at gmail dot com

Description:

This is more than a feature than a bug.

Usage of '{}' is not unified at all.

Why this syntax:
$this->{'function'}; 
works, but:
{'function'}();
doesn't?

It's really confusing. In "test script" form i am giving you full example of it.

Test script:
---
{'foo'}(); // works

// $class2 = new {$class->test}; // doesn't work
$class2 = new $class->test(); // works

Expected result:

syntax {'myFunction'}(); should work
syntax $class = new {'myClass'}(); should work
syntax $class2 = new {$class->test}; should work

Actual result:
--
only calling methods and getting properties of class works in that way.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63020&edit=1


Req #38593 [Com]: feature request for an attribute that contains the current cursor position

2012-09-05 Thread will dot skates at ntlworld dot com
Edit report at https://bugs.php.net/bug.php?id=38593&edit=1

 ID: 38593
 Comment by: will dot skates at ntlworld dot com
 Reported by:php dot net at benjamin dot schulz dot name
 Summary:feature request for an attribute that contains the
 current cursor position
 Status: Open
 Type:   Feature/Change Request
 Package:Feature/Change Request
 PHP Version:5.2.0RC2
 Block user comment: N
 Private report: N

 New Comment:

PDOStatement->rowCount();


Previous Comments:

[2006-08-25 16:07:38] php dot net at benjamin dot schulz dot name

Description:

an attribute or an argument that gives current cursor position (count of 
fetched rows) would be usefulk

Reproduce code:
---
PDOStatement::getAttribute(PDO::ATTR_CURSOR_POSITION))







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=38593&edit=1


Bug #63013 [Opn->Fbk]: Error not thrown with constructor call

2012-09-05 Thread aharvey
Edit report at https://bugs.php.net/bug.php?id=63013&edit=1

 ID: 63013
 Updated by: ahar...@php.net
 Reported by:samu dot voutilainen at gmail dot com
 Summary:Error not thrown with constructor call
-Status: Open
+Status: Feedback
 Type:   Bug
 Package:*General Issues
 Operating System:   Linux
 PHP Version:5.4.6
 Block user comment: N
 Private report: N

 New Comment:

I can't reproduce this either. We'll have to wait for the new example.

Can you also provide your display_errors and error_reporting settings, please?


Previous Comments:

[2012-09-05 14:24:35] samu dot voutilainen at gmail dot com

I don’t get the warnings for the case I had; this simpler example does 
though. I’ll construct an example with proper namespaces to see if it causes 
it.


[2012-09-05 13:20:23] larue...@php.net

PHP will warn you:

PHP Warning:  Missing argument 1 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 2 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18
PHP Warning:  Missing argument 3 for AbstractHandler::__construct(), called in 
/tmp/1.php on line 30 and defined in /tmp/1.php on line 18


[2012-09-05 10:41:20] samu dot voutilainen at gmail dot com

Also the code I have uses namespaces.


[2012-09-05 10:37:20] samu dot voutilainen at gmail dot com

Description:

When inheriting from a class and calling constructor with invalid arguments, it 
won’t throw any error, but die silently. There is no information in web 
server log or PHP-FPM’s logs and nothing is returned to client either.



Test script:
---
class SlamObject {

}

class Utility extends SlamObject {

}

abstract class AbstractHandler extends Utility {

protected $version;

protected $session;

protected $output;

public function __construct($session, $output, $version) {
$this->session = $session;
$this->output = $output;
$this->version = $version;
}

}

class Foo extends AbstractClass {

}

$foo = new Foo();

Expected result:

At the point of Foo, fatal error is thrown telling that you called constructor 
with wrong arguments.

Actual result:
--
Silent death at this point with no information anywhere.






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63013&edit=1


Req #38593 [Opn]: feature request for an attribute that contains the current cursor position

2012-09-05 Thread aharvey
Edit report at https://bugs.php.net/bug.php?id=38593&edit=1

 ID: 38593
 Updated by: ahar...@php.net
 Reported by:php dot net at benjamin dot schulz dot name
 Summary:feature request for an attribute that contains the
 current cursor position
 Status: Open
 Type:   Feature/Change Request
-Package:Feature/Change Request
+Package:PDO related
 PHP Version:5.2.0RC2
 Block user comment: N
 Private report: N

 New Comment:

rowCount() doesn't provide the current cursor position.

I'm not actually sure we track this, but let's at least put it in the right 
package so somebody can look into it.


Previous Comments:

[2012-09-06 01:39:05] will dot skates at ntlworld dot com

PDOStatement->rowCount();


[2006-08-25 16:07:38] php dot net at benjamin dot schulz dot name

Description:

an attribute or an argument that gives current cursor position (count of 
fetched rows) would be usefulk

Reproduce code:
---
PDOStatement::getAttribute(PDO::ATTR_CURSOR_POSITION))







-- 
Edit this bug report at https://bugs.php.net/bug.php?id=38593&edit=1