[PHP-DEV] Re: RFC: dba/inifile native interface

2003-02-23 Thread Sascha Schumann
On Sun, 23 Feb 2003, Marcus Börger wrote:

 After fixing hopefully last problems in the inifile handler i made
 up a patch which introduces a native interface to the inifile handler.
 I did this because the [group]name key format is not intuitive.

Care to explain what it does?  Does it feed all entries to
the PHP INI system or is this is a custom layer wrapping the
DBA API for storage of application settings?

- Sascha

--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Re: RFC: dba/inifile native interface

2003-02-23 Thread Marcus Börger
At 12:11 23.02.2003, Sascha Schumann wrote:
On Sun, 23 Feb 2003, Marcus Börger wrote:

 After fixing hopefully last problems in the inifile handler i made
 up a patch which introduces a native interface to the inifile handler.
 I did this because the [group]name key format is not intuitive.
Care to explain what it does?  Does it feed all entries to
the PHP INI system or is this is a custom layer wrapping the
DBA API for storage of application settings?
- Sascha
You can use it to work with any ini file and has nothing to do with the
PHP INI system.
I implemented the native interface - inifile_*() functions - in order to be
able to work with group and name instead of the single key format that
is necessary using the dba interface.
marcus

--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] domxml close document routine

2003-02-23 Thread Christian Stocker
Hi

You're right, there is no functionality right now, which is freeing the
domxml resources and I looked quickly through your patch. But i'm not
sure, what you're gaining exactly with it. You're not freeing the libxml
resources itself (and therefore the actual xml data), but just the
Zend-Resources to it. Maybe this is very helpful in your special case,
but IMHO not a general solution to the problem ;)

Could you please send me an example of your script. Maybe I can see
then, where this functionality is especially useful.

chregu



On Sun, 2003-02-23 at 02:40, Robert Oldham wrote:
 Overview:
 domxml does not include a close document routing to release memory after
 an xml document has been processed.  I have added one.
 
 Purpose:
 I am using PHP's domxml functionality to parse thousands (17,000+) xml
 documents in a single request.  The current implementation of domxml in
 PHP does not allow for xml documents to be closed, so memory is lost at
 more than 7KB/document during processing.  I have been able to reduce
 this to 1KB/document by adding a close document routine to the PHP
 domxml extension and calling that close routine in my PHP scripts.
 
 Diff:
 Please see the patch files for my changes at the following URLs.
 http://robertoldham.com/php_domxml.h.php4.diff
 http://robertoldham.com/php_domxml.c.php4.diff
 
 http://robertoldham.com/php_domxml.h.php5.diff
 http://robertoldham.com/php_domxml.c.php5.diff
 
 Caveats:
 Lacking familiarity with PHP development, I am not sure that my
 implementation of the close routine is optimal.  However, I have been
 using this code change in php-4.2.3, php-4.3.0 and php-4.3.1 for
 approximately 6 weeks without any problems.
 
 I am also unfamiliar with the process of getting a change reviewed and
 applied.  If I have done anything wrong, or need to do additional things
 to follow this through, please let me know.
 
 Thank you,
 Robert Oldham
-- 
christian stocker | bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 |  fax +41 1 240 56 71
http://www.bitflux.ch  |  [EMAIL PROTECTED]  |  gnupg-keyid 0x5CE1DECB


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Re: [PHP-LANG] PHP not supporting method overloading

2003-02-23 Thread Derick Rethans
On Sun, 23 Feb 2003, Jun wrote:

 Hi! I have a website whose pages were written in PHP.. using some classes I
 have made that extensively use method overloading.. Before, my webhosting
 company was using PHP 4.0.6 but just this january, they have upgraded to PHP
 4.3.0... that is when I started to receive errors. My website is currently
 down because all of my scripts are reporting error:
 
 Cannot Redeclare .. blablah blah..  It seems to me that the support for
 method overloading was removed. Even my FastTemplate class is issuing the
 same error.
 
 
 What will I do to minimize the time in re-doing all of my scripts. And also,
 why did the PHP guys removed the support for method overloading..?

It was never a feature, but a bug that you could redeclare methods. PHP 
had never real method overloading. ANyway, this mail belongs on 
[EMAIL PROTECTED]

Derick

-- 
Stop mad cowboy disease!
-
 Derick Rethans http://derickrethans.nl/ 
 PHP Magazine - PHP Magazine for Professionals   http://php-mag.net/
-


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Why parent::construct not called?

2003-02-23 Thread michel 'ziobudda' morelli
Hi, why if I have 

class B extends A {
}

the only way to call in automatic the A::__construct() is to not write
the B::__construct() ? 

Ok, this is the design of PHP. But why ?

tnx

-- 
michel 'ziobudda' morelli [EMAIL PROTECTED]


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] give me advice

2003-02-23 Thread Sylvain Becker
I'd like to create an open source project :
 
I have built a small daemon which is able to manage a neural network
I have built a php-module php-module (in c/c++)  to communicate with the
previous server.
 
Do you think it could be interesting to do improve this things ?
Sylvain Becker
 
 


[PHP-DEV] Performance degradation

2003-02-23 Thread Rasmus Lerdorf
So, I am just starting out down the path to figure out why PHP 4.3 has
gotten so much slower than 4.2.  strace -c provides the first clue.  A
straight ./configure --enable-inline-optimization  make command-line
build for 4.2, 4.3 and 5.0 run on a simple hello world script reveals that
we have gone from 219 system calls in 4.2 to 233 in 4.3 to 236 in 5.0.
This is a bad trend and we really need to make an effort to reverse this.

4.2 Hello World from command-line:

% time seconds  usecs/call callserrors syscall
-- --- --- - - 
 21.860.000266  1617 3 open
 19.060.000232  29 8   write
 15.690.000191  1118   read
 12.570.000153   285   brk
 10.440.000127   524   old_mmap
  4.110.50  10 5   munmap
  3.370.41   7 6   mmap2
  2.960.36   5 8   mprotect
  2.550.31   215   fstat64
  2.380.29   214   close
  0.740.09   5 2   lstat64
  0.660.08   4 2   rt_sigaction
  0.660.08   8 1   getcwd
  0.490.06   3 2 2 ioctl
  0.490.06   6 1   uname
  0.410.05   3 2   setitimer
  0.410.05   3 2   fcntl64
  0.330.04   4 1   chdir
  0.250.03   2 2   getpid
  0.250.03   3 1   _llseek
  0.160.02   2 1   time
  0.080.01   1 1   gettimeofday
  0.080.01   1 1   rt_sigprocmask
-- --- --- - - 
100.000.001217   219 5 total

4.3 Hello World from command-line:

% time seconds  usecs/call callserrors syscall
-- --- --- - - 
 21.550.000292  1520 7 open
 18.300.000248  28 9   write
 14.610.000198  1217   read
 13.060.000177   295   brk
  8.340.000113   522   old_mmap
  6.350.86  22 4   lstat64
  3.690.50  10 5   munmap
  3.030.41   7 6   mmap2
  2.580.35   5 7   mprotect
  2.360.32   214   fstat64
  2.210.30   213   close
  0.590.08   2 4   setitimer
  0.590.08   3 3   rt_sigaction
  0.590.08   8 1   getcwd
  0.370.05   5 1   chdir
  0.370.05   5 1   uname
  0.300.04   2 2 2 ioctl
  0.300.04   2 2   fcntl64
  0.220.03   2 2   getpid
  0.150.02   2 1   time
  0.150.02   2 1   gettimeofday
  0.150.02   2 1   _llseek
  0.150.02   1 2   rt_sigprocmask
-- --- --- - - 
100.000.001355   233 9 total

5.0 Hello World from command-line:

% time seconds  usecs/call callserrors syscall
-- --- --- - - 
 21.700.000288  1420 7 open
 18.990.000252  28 9   write
 15.070.000200   297   brk
 14.920.000198  1217   read
  8.290.000110   522   old_mmap
  5.430.72  12 6   munmap
  3.540.47   7 7   mmap2
  2.490.33   5 7   mprotect
  2.190.29   213   close
  2.030.27   214   fstat64
  1.430.19   5 4   lstat64
  0.680.09   3 3   rt_sigaction
  0.600.08   2 4   setitimer
  0.600.08   8 1   getcwd
  0.380.05   5 1   uname
  0.300.04   4 1   chdir
  0.300.04   2 2   fcntl64
  0.230.03   2 2   getpid
  0.230.03   3 1 1 ioctl
  0.230.03   

Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread Marcus Börger
At 16:46 23.02.2003, michel 'ziobudda' morelli wrote:
Hi, why if I have

class B extends A {
}
the only way to call in automatic the A::__construct() is to not write
the B::__construct() ?
Ok, this is the design of PHP. But why ?
You can do the following:
class base {
function __construct() {
echo base::__construct()\n;
}
function __destruct() {
echo base::__destruct()\n;
}
}
class derived extends base {
function __construct() {
parent::__construct();
echo derived::__construct()\n;
}
function __destruct() {
parent::__destruct();
echo derived::__destruct()\n;
}
}
See:
http://marcus-boerger.de/php/ext/ze2/ctor_dtor_inheritance.phpt.txt
regards
marcus


--
--
Marcus Börger - Looking for all sorts of freelance work - just ask...
Did i help you? Consider a gift:
http://www.amazon.de/exec/obidos/wishlist/ho722v0rg1u0
--
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Marcus Börger

So, obviously these opens don't really affect the module version since
they only happen on startup, but they still don't seem right.  I
understand ./php-cgi.ini, but .//php-cgi.ini and .//php.ini?  Looks like a
missing check there.


I just recognized these yesturday, too and was thinking the same.

marcus

--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Stanislav Malyshev
RL So, obviously these opens don't really affect the module version
RL since they only happen on startup, but they still don't seem right.  
RL I understand ./php-cgi.ini, but .//php-cgi.ini and .//php.ini?  
RL Looks like a missing check there.

If this is only for CGI/startup, it is indeed not so important, IMHO. 
After all, CGI is not a performance-star anyway.

RL Anybody know what the increase from 85 to 95 brk calls actually tells us?

Either increased memory usage or substantial change in memory usage 
pattern (e.g., allocation of one big object, than freeing and allocation a 
number of small objects with the same size should generate less brk's then 
allocating small ones first and then large one). 
-- 
Stanislav Malyshev, Zend Products Engineer   
[EMAIL PROTECTED]  http://www.zend.com/ +972-3-6139665 ext.109



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Rasmus Lerdorf
On Sun, 23 Feb 2003, Stanislav Malyshev wrote:

 RL So, obviously these opens don't really affect the module version
 RL since they only happen on startup, but they still don't seem right.
 RL I understand ./php-cgi.ini, but .//php-cgi.ini and .//php.ini?
 RL Looks like a missing check there.

 If this is only for CGI/startup, it is indeed not so important, IMHO.
 After all, CGI is not a performance-star anyway.

True, but that doesn't mean we should be doing stupid things like trying
to open the same file twice or calling realpath() twice on the same path.
And obviously something similar is happening to the module case because we
are 10-15% slower in the module version.

 Either increased memory usage or substantial change in memory usage
 pattern (e.g., allocation of one big object, than freeing and allocation a
 number of small objects with the same size should generate less brk's then
 allocating small ones first and then large one).

The script I tested was simply:

  html
  body
  ?
  echo Hello World;
  ?
  /body
  /html

Hopefully executing this should not have caused a big change in memory
usage between 4.2 and 4.3.

-Rasmus

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread michel 'ziobudda' morelli
Il dom, 2003-02-23 alle 17:32, Marcus Börger ha scritto:
 You can do the following:
 class base {
  function __construct() {
  echo base::__construct()\n;
  }
[...]

I know know.

What I want to understand is why the base::__construct() is  called (in
automatic) only when derived::__constuct() is missing. 

I think that or the base::__construct() is always in automatic called or
it is always never called (in automatic).

bye
-- 
michel 'ziobudda' morelli [EMAIL PROTECTED]


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread Marcus Börger
At 18:02 23.02.2003, michel 'ziobudda' morelli wrote:
Il dom, 2003-02-23 alle 17:32, Marcus Börger ha scritto:
 You can do the following:
 class derived extends base {
  function __construct() {
  parent::__construct();
  echo derived::__construct()\n;
  }

I know know.

What I want to know is why the base::__construct() is  called (in
automatic) only when derived::__constuct() is missing.
I think that or the base::__construct() is always in automatic called or
it is never called (always in automatic).


In ZE2 each class has a constructor. That constructor can be overwritten
by writing a method named __construct. So far so good. Unlike other
languages, C++ for one, PHP does not call any inherited constructors
automatically, C++ calls the default constructor if not set explicitly. But
PHP inherits the constructor if it is not redeclared/overwritten. Therfor
if the base has a constructor and the derived has not the inherited (the
one from base) is called.
regards
marcus


--
--
Marcus Börger - Looking for all sorts of freelance work - just ask...
Did i help you? Consider a gift:
http://www.amazon.de/exec/obidos/wishlist/ho722v0rg1u0
--
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread Timm Friebe
On Sun, 2003-02-23 at 18:04, michel 'ziobudda' morelli wrote:
 Il dom, 2003-02-23 alle 17:32, Marcus Börger ha scritto:
  You can do the following:
  class base {
   function __construct() {
   echo base::__construct()\n;
   }
 [...]
 
 I know know.
 
 What I want to understand is why the base::__construct() is  called (in
 automatic) only when derived::__constuct() is missing. 

Because (from a user's point of view) the constructor is inherited just
like any other function.

 I think that or the base::__construct() is always in automatic called or
 it is always never called (in automatic).

Well, because there might be situations in which I'd like to call the
parent's constructor before my code in __construct, sometimes after it
and in some situations, not call it at all.

- Timm


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread michel 'ziobudda' morelli
Il dom, 2003-02-23 alle 18:07, Marcus Börger ha scritto:
 In ZE2 each class has a constructor. That constructor can be overwritten
 by writing a method named __construct. So far so good.

Ok...
This is the design..

tnx.

-- 
michel 'ziobudda' morelli [EMAIL PROTECTED]


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] give me advice

2003-02-23 Thread Daniel Lorch
hi,

 I have built a small daemon which is able to manage a neural network
 I have built a php-module php-module (in c/c++)  to communicate with the
 previous server.
  
 Do you think it could be interesting to do improve this things ?
 Sylvain Becker

If it is generic enough, why not try contributing it to PECL?

-daniel

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Why parent::construct not called?

2003-02-23 Thread Marcus Börger
At 18:29 23.02.2003, Timm Friebe wrote:
Well, because there might be situations in which I'd like to call the
parent's constructor before my code in __construct, sometimes after it
and in some situations, not call it at all.
I hope you will never avoid initialising the base class or just call
the base constructor after anything else is done in the dericed
constructor. The problem is that when you so the behavior of the
base class members (functions and properties) is not predictable.
marcus

--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


[PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Rasmus Lerdorf
A little bit harder to get clean output on this one.  The numbers in the
's are the times for the system call.  Here is a 4.2 hello world
request:

accept(24, {sin_family=AF_INET, sin_port=htons(57198), 
sin_addr=inet_addr(10.0.1.254)}}, [16]) = 3 4.035087
rt_sigaction(SIGUSR1, {SIG_IGN}, {0x40035250, [], SA_INTERRUPT|0x400}, 8) = 0 
0.09
getsockname(3, {sin_family=AF_INET, sin_port=htons(80), 
sin_addr=inet_addr(10.0.1.253)}}, [16]) = 0 0.09
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0 0.11
alarm(300)  = 0 0.10
read(3, GET /index.php HTTP/1.0\r\nUser-Ag..., 4096) = 106 0.18
rt_sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}, 8) = 0 0.08
time(NULL)  = 1046024055 0.08
alarm(300)  = 300 0.09
alarm(0)= 300 0.08
stat64(/html/index.php, {st_mode=S_IFREG|0644, st_size=58, ...}) = 0 0.23
alarm(300)  = 0 0.09
umask(077)  = 022 0.07
umask(022)  = 077 0.08
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0 0.08
rt_sigaction(SIGPROF, {0x40690508, [PROF], SA_RESTART|0x400}, {0x40690508, [PROF], 
SA_RESTART|0x400}, 8) = 0 0.08
rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0 0.08
getcwd(/usr/sbin, 4095)   = 10 0.12
chdir(/html)  = 0 0.14
open(/html/index.php, O_RDONLY)   = 4 0.19
getcwd(/html, 4095)   = 6 0.09
lstat64(/html, {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0 0.12
lstat64(/html/index.php, {st_mode=S_IFREG|0644, st_size=58, ...}) = 0 0.11
ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbfffe1a0) = -1 ENOTTY (Inappropriate ioctl for device) 
0.09
fstat64(4, {st_mode=S_IFREG|0644, st_size=58, ...}) = 0 0.08
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402ba000 
0.27
read(4, html\nbody\n?\n\techo \Hello Wo..., 8192) = 58 0.15
read(4, , 4096)   = 0 0.08
read(4, , 8192)   = 0 0.08
ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbfffd160) = -1 ENOTTY (Inappropriate ioctl for device) 
0.08
close(4)= 0 0.10
munmap(0x402ba000, 4096)= 0 0.13
alarm(300)  = 300 0.09
alarm(0)= 300 0.08
chdir(/usr/sbin)  = 0 0.19
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 0.09
umask(022)  = 022 0.07
alarm(0)= 0 0.08
select(4, [3], NULL, NULL, {0, 0})  = 0 (Timeout) 0.10
write(3, HTTP/1.1 200 OK\r\nDate: Sun, 23 F..., 232) = 232 0.34
time(NULL)  = 1046024055 0.08
write(39, 10.0.1.254 - - [23/Feb/2003:10:1..., 94) = 94 0.24
alarm(30)   = 0 0.09
shutdown(3, 1 /* send */)   = 0 0.24
select(4, [3], NULL, NULL, {2, 0})  = 1 (in [3], left {2, 0}) 0.000775
read(3, , 512)= 0 0.14
close(3)= 0 0.27
alarm(0)= 30 0.08
rt_sigaction(SIGUSR1, {0x40035250, [], SA_INTERRUPT|0x400}, {SIG_IGN}, 8) = 0 
0.09
alarm(0)= 0 0.08

This is just from accept-to-accept, so it doesn't include any Apache/PHP
startup calls at all.  A couple of these syscalls are from Apache but
starting with the alarm(300) call (I think) we are in PHP.  The only thing
that looks slightly off to me in this set of calls are the consecutive
umask() calls.  Might be something worth tracking down to see if one can
be eliminated.  The point here however is to compare to 4.3:

accept(24, {sin_family=AF_INET, sin_port=htons(57262), 
sin_addr=inet_addr(10.0.1.254)}}, [16]) = 3 8.485988
rt_sigaction(SIGUSR1, {SIG_IGN}, {0x40035250, [], SA_INTERRUPT|0x400}, 8) = 0 
0.09
getsockname(3, {sin_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr(10.0.1.253)}}, [16]) = 0 0.10
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0 0.12
alarm(300)  = 0 0.10
read(3, GET /index.php HTTP/1.0\r\nUser-Ag..., 4096) = 106 0.16
rt_sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}, 8) = 0 0.08
time(NULL)  = 1046024677 0.08
alarm(300)  = 300 0.08
alarm(0)= 300 0.08
stat64(/html/index.php, {st_mode=S_IFREG|0644, st_size=58, ...}) = 0 0.22
alarm(300)  = 0 0.09
umask(077)  = 022 0.08
umask(022)  = 077 0.07
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0 0.09
rt_sigaction(SIGPROF, {0x4072d6b4, [PROF], SA_RESTART|0x400}, {0x4072d6b4, 

Re: [PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Jim Jagielski
Rasmus Lerdorf wrote:
 
 Even in 4.2, I think we can optimize it.  Assuming chdir() doesn't return
 an error, we shouldn't need that second getpwd() call since we just did
 the chdir() and we should know where we are.
 

Not necessarily... In a threaded environment, if threadA does
chdir(/tmp) and then threadB does chdir(/var), then the actual
process is in /var for the remainder of threadA (IIRC).
chdir() is process scoped.
-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  A society that will trade a little liberty for a little order
 will lose both and deserve neither - T.Jefferson

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Rasmus Lerdorf
On Sun, 23 Feb 2003, Jim Jagielski wrote:

 Rasmus Lerdorf wrote:
 
  Even in 4.2, I think we can optimize it.  Assuming chdir() doesn't return
  an error, we shouldn't need that second getpwd() call since we just did
  the chdir() and we should know where we are.
 

 Not necessarily... In a threaded environment, if threadA does
 chdir(/tmp) and then threadB does chdir(/var), then the actual
 process is in /var for the remainder of threadA (IIRC).
 chdir() is process scoped.

That's true, but in threaded mode we don't do the chdir() at all.  This is
specifically for non-threaded.

-Rasmus

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Jim Jagielski
Rasmus Lerdorf wrote:
 
 That's true, but in threaded mode we don't do the chdir() at all.  This is
 specifically for non-threaded.
 

Gotcha... didn't realize you were referring to non-t'ed only.

-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  A society that will trade a little liberty for a little order
 will lose both and deserve neither - T.Jefferson

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Shane Caraveo
Rasmus Lerdorf wrote:
So, I am just starting out down the path to figure out why PHP 4.3 has
gotten so much slower than 4.2.  strace -c provides the first clue.  A
straight ./configure --enable-inline-optimization  make command-line
build for 4.2, 4.3 and 5.0 run on a simple hello world script reveals that
we have gone from 219 system calls in 4.2 to 233 in 4.3 to 236 in 5.0.
This is a bad trend and we really need to make an effort to reverse this.
4.2 Hello World from command-line:

CGI, right?  Part of this may be from the path_info handling I've added. 
 There is a stat call in there to determine if the path provided by the 
webserver includes path_info also, if it does have path_info (stat 
failed), it walks up the path doing a stat to determine the script 
filename and path_info correctly.  the ini setting cgi.fix_pathinfo 
turns this on or off.  It also uses a handfull putenv and getenv calls 
in straightening things out.  I'm sure this adds some of that, but I 
don't think it would add as much an increase as you are seeing, unless 
you're using some long path_info paths.

Shane



--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Rasmus Lerdorf
On Sun, 23 Feb 2003, Shane Caraveo wrote:

 Rasmus Lerdorf wrote:
  So, I am just starting out down the path to figure out why PHP 4.3 has
  gotten so much slower than 4.2.  strace -c provides the first clue.  A
  straight ./configure --enable-inline-optimization  make command-line
  build for 4.2, 4.3 and 5.0 run on a simple hello world script reveals that
  we have gone from 219 system calls in 4.2 to 233 in 4.3 to 236 in 5.0.
  This is a bad trend and we really need to make an effort to reverse this.
 
  4.2 Hello World from command-line:
 

 CGI, right?  Part of this may be from the path_info handling I've added.
   There is a stat call in there to determine if the path provided by the
 webserver includes path_info also, if it does have path_info (stat
 failed), it walks up the path doing a stat to determine the script
 filename and path_info correctly.  the ini setting cgi.fix_pathinfo
 turns this on or off.  It also uses a handfull putenv and getenv calls
 in straightening things out.  I'm sure this adds some of that, but I
 don't think it would add as much an increase as you are seeing, unless
 you're using some long path_info paths.

The extra realpath() and fstat() calls are not cgi specific, so if what
you added only affects cgi, then that isn't the big problem.

-Rasmus

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation

2003-02-23 Thread Shane Caraveo
Rasmus Lerdorf wrote:
On Sun, 23 Feb 2003, Shane Caraveo wrote:


CGI, right?  Part of this may be from the path_info handling I've added.



The extra realpath() and fstat() calls are not cgi specific, so if what
you added only affects cgi, then that isn't the big problem.
-Rasmus

ok, it's only in CGI.

Shane

--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


[PHP-DEV] Sablotron XSLT

2003-02-23 Thread Ray Hunter
Who is working on the sablotron xslt module?  I would like to help out
with its development.

Thanks,

Ray Hunter

-- 

Ray Hunter
email:  [EMAIL PROTECTED]
www:http://venticon.com


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] extra realpath() found

2003-02-23 Thread Rasmus Lerdorf
Hey Sander, you fixed a problem back in July where you introduced a second
realpath() call into the main execute_script() function.  I understand
what you were trying to achieve, but realpath() is way way too expensive
to toss around like that, especially since we already do the realpath on
the fopen of the script file.

The bug in question was http://bugs.php.net/17720 and your fix was
http://cvs.php.net/diff.php/php4/main/main.c?login=2r1=1.461r2=1.462ty=u

php_fopen_primary_script() calls expand_filepath() which does the realpath
before we get to execute_script.  Why not add the path to the
included_files list at that point instead?

Let me know if you feel like playing with it, otherwise I will.

-Rasmus

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Wez Furlong
This double seeking is most probably due to the fact that the stdio
layer does one set of seeking, whereas streams needs to do another.

This can be solved by moving away from using stdio for streams, and just
using the raw descriptors instead.  (already made a start on this in
PHP 5).

I'm a little unsure if we should apply equivalent changes to the branch
(given our release policy), but I share your concerns for performance.

Ilia and I have discussed implementing some kind of fstat cache for use
by the plain file streams.  However, we are nowhere near implementing
this, yet alone certifying it safe for inclusion in the branch.

Have you been testing PHP_4_3 from CVS or the actual 4.3.0 release?
You might find the situation slightly better using the latest (I tidied
up some seek related issues the other day).

--Wez.

On Sun, 23 Feb 2003, Rasmus Lerdorf wrote:

 In 4.3 we have:

 _llseek(4, 0, [0], SEEK_CUR)= 0 0.09
 lseek(4, 0, SEEK_SET)   = 0 0.09
 brk(0)  = 0x81a8000 0.08
 brk(0x81a9000)  = 0x81a9000 0.11
 ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbfffd190) = -1 ENOTTY (Inappropriate ioctl for 
 device) 0.09
 brk(0)  = 0x81a9000 0.07
 brk(0x81aa000)  = 0x81aa000 0.09
 read(4, html\nbody\n?\n\techo \Hello Wo..., 8192) = 58 0.16
 read(4, , 4096)   = 0 0.08
 read(4, , 8192)   = 0 0.09
 ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbfffc150) = -1 ENOTTY (Inappropriate ioctl for 
 device) 0.08
 close(4)= 0 0.10
 munmap(0x402ba000, 4096)= 0 0.14

 I really don't understand the SEEK_CUR there.  We're seeking forward 0
 bytes from the current location followed directly by a SEEK_SET back to 0?
 Is this streams overhead or something?  Wez?

 From there on the requests are similar.  The alarm(0) calls right after
 alarm(300) could probably be skipped in both cases.

 Anyway, I will go after all these extra lstat/fstat calls and fix that,
 but I would appreciate some help with the setitimer() and weird seeking
 stuff.


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Performance degradation part 2 the module version

2003-02-23 Thread Rasmus Lerdorf
 Have you been testing PHP_4_3 from CVS or the actual 4.3.0 release?
 You might find the situation slightly better using the latest (I tidied
 up some seek related issues the other day).

The straces are from PHP_4_3 HEAD as of this morning.

I thought originally that these issues were just a hassle for me at Yahoo!
where performance is super-critical and that the average PHP user wouldn't
really care.  But I am seeing normal users switching back to 4.2 from 4.3
now because of these issues.

We can probably live with the seek overhead if I can get rid of the rest.
If I can eliminate that one getcwd() call that was also in 4.2, perhaps we
can get back to being on par.

-Rasmus

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] [PATCH] include file when using open_basedir

2003-02-23 Thread David Saez
Hi !!

Including or openeing a file fails when all paths defined in
include_path are not also defined in open_basedir, regardless
if the file to open/include is in both definitions.

Imagine include_path = .:/usr/local/lib/php:/usr/local/http-docs
open_basedir = .:/usr/local/http-docs

trying to include a file on /usr/local/http-docs will fail when
_php_stream_fopen_with_path will try to locate the file at
usr/local/lib/php . This could be undestand as a configuration
error, but in a virtual server farm enviroment it's easy to have
include_path defined globaly in php.ini and open_basedir defined
for each virtual server. BTW, it's not too good to fail in this
situation as the requested file meets all requirements. Also the
given error will report 'unable to open /usr/local/lib/php/filename'
due to open_basedir restrictions, where the real requested file
is /usr/local/http-docs/filename

--
Best regards ...

I was arrested for selling illegal sized paper.


   David Saez Padroshttp://www.ols.es
   On-Line Services 2000 S.L.   e-mail  [EMAIL PROTECTED]
   Pintor Vayreda 1 telf+34 902 50 29 75
   08184 Palau-Solita i Plegamans   movil   +34 670 35 27 53
*** streams.c   Sun Feb 23 21:32:40 2003
--- streams.c   Sun Feb 23 21:34:40 2003
***
*** 1741,1746 
--- 1741,1752 
end++;
}
snprintf(trypath, MAXPATHLEN, %s/%s, ptr, filename);
+ 
+   /* If file does not exist continue */
+   if (VCWD_STAT(trypath, sb) == 0) {
+   ptr = end;
+   continue;
+   }

if (php_check_open_basedir(trypath TSRMLS_CC)) {
stream = NULL;
***
*** 1748,1764 
}

if (PG(safe_mode)) {
!   if (VCWD_STAT(trypath, sb) == 0) {
!   /* file exists ... check permission */
!   if ((php_check_safe_mode_include_dir(trypath 
TSRMLS_CC) == 0) ||
!   php_checkuid(trypath, mode, 
CHECKUID_CHECK_MODE_PARAM)) {
!   /* UID ok, or trypath is in 
safe_mode_include_dir */
!   stream = php_stream_fopen_rel(trypath, mode, 
opened_path, options);
!   } else {
!   stream = NULL;
!   }
!   goto stream_done;
}
}
stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
if (stream) {
--- 1754,1768 
}

if (PG(safe_mode)) {
!   /* file exists ... check permission */
!   if ((php_check_safe_mode_include_dir(trypath TSRMLS_CC) == 0) 
||
!   php_checkuid(trypath, mode, 
CHECKUID_CHECK_MODE_PARAM)) {
!   /* UID ok, or trypath is in safe_mode_include_dir */
!   stream = php_stream_fopen_rel(trypath, mode, 
opened_path, options);
!   } else {
!   stream = NULL;
}
+   goto stream_done;
}
stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
if (stream) {


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-DEV] [PATCH] warning does not report correct open_basedir

2003-02-23 Thread David Saez
Hi !!

open_basedir warning in fopen_wrappers.c does not correctly report the
real open_basedir paths, it only reports the path it was actually
testing when the test failed. This patch will make it show the correct
information.

--
Best regards ...

I was arrested for selling illegal sized paper.


   David Saez Padroshttp://www.ols.es
   On-Line Services 2000 S.L.   e-mail  [EMAIL PROTECTED]
   Pintor Vayreda 1 telf+34 902 50 29 75
   08184 Palau-Solita i Plegamans   movil   +34 670 35 27 53
*** fopen_wrappers.cSun Feb 23 21:13:08 2003
--- fopen_wrappers.cSun Feb 23 21:13:40 2003
***
*** 192,198 
ptr = end;
}
php_error_docref(NULL TSRMLS_CC, E_WARNING, 
!   open_basedir restriction in effect. File(%s) is not within 
the allowed path(s): (%s), path, pathbuf);
efree(pathbuf);
errno = EPERM; /* we deny permission to open it */
return -1;
--- 192,198 
ptr = end;
}
php_error_docref(NULL TSRMLS_CC, E_WARNING, 
!   open_basedir restriction in effect. File(%s) is not within 
the allowed path(s): (%s), path, PG(open_basedir));
efree(pathbuf);
errno = EPERM; /* we deny permission to open it */
return -1;


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-DEV] [PATCH] include file when using open_basedir

2003-02-23 Thread David Saez
Hi !!

Correction to last submited patch !!

Including or openeing a file fails when all paths defined in
include_path are not also defined in open_basedir, regardless
if the file to open/include is in both definitions.

Imagine include_path = .:/usr/local/lib/php:/usr/local/http-docs
open_basedir = .:/usr/local/http-docs

trying to include a file on /usr/local/http-docs will fail when
_php_stream_fopen_with_path will try to locate the file at
usr/local/lib/php . This could be undestand as a configuration
error, but in a virtual server farm enviroment it's easy to have
include_path defined globaly in php.ini and open_basedir defined
for each virtual server. BTW, it's not too good to fail in this
situation as the requested file meets all requirements. Also the
given error will report 'unable to open /usr/local/lib/php/filename'
due to open_basedir restrictions, where the real requested file
is /usr/local/http-docs/filename

--
Best regards ...

I was arrested for selling illegal sized paper.


   David Saez Padroshttp://www.ols.es
   On-Line Services 2000 S.L.   e-mail  [EMAIL PROTECTED]
   Pintor Vayreda 1 telf+34 902 50 29 75
   08184 Palau-Solita i Plegamans   movil   +34 670 35 27 53
*** streams.c   Sun Feb 23 21:32:40 2003
--- streams.c   Sun Feb 23 21:34:40 2003
***
*** 1741,1746 
--- 1741,1752 
end++;
}
snprintf(trypath, MAXPATHLEN, %s/%s, ptr, filename);
+ 
+   /* If file does not exist continue */
+   if (VCWD_STAT(trypath, sb) != 0) {
+   ptr = end;
+   continue;
+   }

if (php_check_open_basedir(trypath TSRMLS_CC)) {
stream = NULL;
***
*** 1748,1764 
}

if (PG(safe_mode)) {
!   if (VCWD_STAT(trypath, sb) == 0) {
!   /* file exists ... check permission */
!   if ((php_check_safe_mode_include_dir(trypath 
TSRMLS_CC) == 0) ||
!   php_checkuid(trypath, mode, 
CHECKUID_CHECK_MODE_PARAM)) {
!   /* UID ok, or trypath is in 
safe_mode_include_dir */
!   stream = php_stream_fopen_rel(trypath, mode, 
opened_path, options);
!   } else {
!   stream = NULL;
!   }
!   goto stream_done;
}
}
stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
if (stream) {
--- 1754,1768 
}

if (PG(safe_mode)) {
!   /* file exists ... check permission */
!   if ((php_check_safe_mode_include_dir(trypath TSRMLS_CC) == 0) 
||
!   php_checkuid(trypath, mode, 
CHECKUID_CHECK_MODE_PARAM)) {
!   /* UID ok, or trypath is in safe_mode_include_dir */
!   stream = php_stream_fopen_rel(trypath, mode, 
opened_path, options);
!   } else {
!   stream = NULL;
}
+   goto stream_done;
}
stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
if (stream) {

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP-DEV] [PATCH] imagesavealpha()

2003-02-23 Thread Pierre-Alain Joye
Hello,

The 1st patch will be applied, the 2nd is better but increase again the
difference between the official GD and the bundled GD.

Our plan is to keep our energy on the new gd and provides only bugfixes
in the current 4.3 releases, that makes our life really easier.

thank's for your contribution,

pierre

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [patch] solaris getcwd() brokeness

2003-02-23 Thread Wez Furlong
Hi Andi (and James)

Andi: I'd appreciate your comments on this patch, specifically if there
are any concerns about it doing the right thing.

Most people here:
http://bugs.php.net/bug.php?id=21310edit=1

report that it fixes their problems with solaris.

I've held off from looking at this, as I didn't want to duplicate any
effort you have been making.

--Wez.

On Sun, 16 Feb 2003, Andi Gutmans wrote:

 At 03:41 PM 2/13/2003 -0500, James E. Flemer wrote:
 RCS file: /repository/TSRM/tsrm_virtual_cwd.c,v
 retrieving revision 1.41
 diff -u -b -r1.41 tsrm_virtual_cwd.c
 --- TSRM/tsrm_virtual_cwd.c 6 Nov 2002 18:07:22 -   1.41
 +++ TSRM/tsrm_virtual_cwd.c 13 Feb 2003 20:40:07 -
 @@ -303,7 +303,7 @@
  return (0);
 
   #if !defined(TSRM_WIN32)  !defined(NETWARE)
 -   if (IS_ABSOLUTE_PATH(path, path_length)) {
 +   if (IS_ABSOLUTE_PATH(path, path_length) || (state-cwd_length  1)) {
  if (use_realpath  realpath(path, resolved_path)) {
  path = resolved_path;
  path_length = strlen(path);

 Will realpath() work in cases where getcwd() didn't work? (btw it's nicer
 to check state-cwd_length == 0 than  1 IMO).

 @@ -363,6 +363,7 @@
  }
 
 
 +  if (state-cwd_length  0 || IS_ABSOLUTE_PATH(path, path_length)) {
  ptr = tsrm_strtok_r(path_copy, TOKENIZER_STRING, tok);
  while (ptr) {
  ptr_length = strlen(ptr);
 @@ -416,6 +417,11 @@
  state-cwd[state-cwd_length+1] = '\0';
  state-cwd_length++;
  }
 +  } else {
 +   state-cwd = (char *) realloc(state-cwd, path_length+1);
 +   memcpy(state-cwd, path, path_length+1);
 +   state-cwd_length = path_length;
 +  }

 I'm trying to think if there's some other way of doing this. What is the
 main problem in this loop? Does it add  / or c:\ in the beginning of the
 string?

 Andi


 --
 PHP Development Mailing List http://www.php.net/
 To unsubscribe, visit: http://www.php.net/unsub.php





-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [patch] solaris getcwd() brokeness

2003-02-23 Thread James E. Flemer
Oh good, it hasn't been forgotten.  I just want to point
out that if committed the open() statement should probably
use O_RDONLY.  [main.c @ ~1542]  I used 0 because I didn't
have time to figure out where to add the correct #include
to get O_RDONLY into main.c.

-James

On Sun, 23 Feb 2003, Wez Furlong wrote:

 Hi Andi (and James)

 Andi: I'd appreciate your comments on this patch, specifically if there
 are any concerns about it doing the right thing.

 Most people here:
 http://bugs.php.net/bug.php?id=21310edit=1

 report that it fixes their problems with solaris.

 I've held off from looking at this, as I didn't want to duplicate any
 effort you have been making.

 --Wez.

 On Sun, 16 Feb 2003, Andi Gutmans wrote:

  At 03:41 PM 2/13/2003 -0500, James E. Flemer wrote:
  RCS file: /repository/TSRM/tsrm_virtual_cwd.c,v
  retrieving revision 1.41
  diff -u -b -r1.41 tsrm_virtual_cwd.c
  --- TSRM/tsrm_virtual_cwd.c 6 Nov 2002 18:07:22 -   1.41
  +++ TSRM/tsrm_virtual_cwd.c 13 Feb 2003 20:40:07 -
  @@ -303,7 +303,7 @@
   return (0);
  
#if !defined(TSRM_WIN32)  !defined(NETWARE)
  -   if (IS_ABSOLUTE_PATH(path, path_length)) {
  +   if (IS_ABSOLUTE_PATH(path, path_length) || (state-cwd_length  1)) {
   if (use_realpath  realpath(path, resolved_path)) {
   path = resolved_path;
   path_length = strlen(path);
 
  Will realpath() work in cases where getcwd() didn't work? (btw it's nicer
  to check state-cwd_length == 0 than  1 IMO).
 
  @@ -363,6 +363,7 @@
   }
  
  
  +  if (state-cwd_length  0 || IS_ABSOLUTE_PATH(path, path_length)) {
   ptr = tsrm_strtok_r(path_copy, TOKENIZER_STRING, tok);
   while (ptr) {
   ptr_length = strlen(ptr);
  @@ -416,6 +417,11 @@
   state-cwd[state-cwd_length+1] = '\0';
   state-cwd_length++;
   }
  +  } else {
  +   state-cwd = (char *) realloc(state-cwd, path_length+1);
  +   memcpy(state-cwd, path, path_length+1);
  +   state-cwd_length = path_length;
  +  }
 
  I'm trying to think if there's some other way of doing this. What is the
  main problem in this loop? Does it add  / or c:\ in the beginning of the
  string?
 
  Andi
 
 
  --
  PHP Development Mailing List http://www.php.net/
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 




-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Sablotron XSLT

2003-02-23 Thread Melvyn Sopacua
On 23 Feb 2003, Ray Hunter wrote:

RH Who is working on the sablotron xslt module?  I would like to help out
RH with its development.

See the header in ext/xslt/sablot.c :)

Currently, there's not much going on though - PHP-4.x tree is in feature-freeze,
and XML support in PHP5 is under the microscope.

-- 
With kind regards,

Melvyn Sopacua
?php include(not_reflecting_employers_views.txt); ?


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] zend_eval_string

2003-02-23 Thread Ivan Rodriguez


Hi, can i get only the errors of the script and not the html code who
returned the zend_eval_string function? 


--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] [WARNING] Release process for 4.3.2 starts RSN..

2003-02-23 Thread Jani Taskinen

To get this thing started, I'm going to roll PHP 4.3.2-pre1
on Wednesday, 26th Feb, around 3pm EEST. And I'll announce
it on php-general too, to get some more people testing it
before we start with any RCs.

Following is collection of bugs marked as critical and verified
which should be looked into and dealt with. If not fixed,
then please, PLEASE add some comment why they won't ever
be fixed and bogus the out.


Critical:
 
  http://bugs.php.net/bug.php?id=20190edit=1 
  . Random mem corruption: zend_get_executed_filename() mismatch

  http://bugs.php.net/bug.php?id=21820edit=1 
  . bc break in parser: $arr[val] vs $arr['val']

  http://bugs.php.net/bug.php?id=22372edit=1
  . Don't forget to bump the PHP API number for 4.3.2 release


Verified bugs (Scripting Engine related):

  http://bugs.php.net/bug.php?id=15209edit=1
. register_shutdown_function() broke between 4.0.x to 4.1.x
- Zeev: Either close as bogus saying it's intended behaviour or 
finally get around and FIX IT. ([EMAIL PROTECTED] has a patch?)

  http://bugs.php.net/bug.php?id=21513edit=1
. shutdown functions not executed if timed out [win32 only]
  
  http://bugs.php.net/bug.php?id=15438edit=1
. include_once fails when comparing output to a value

  http://bugs.php.net/bug.php?id=17997edit=1
. got wanning when combing switch  reference
  
  http://bugs.php.net/bug.php?id=20548edit=1
. Decrement ($x[$y]--) doesn't work on uninitiated variable

  http://bugs.php.net/bug.php?id=21478edit=1
. Zend/zend_alloc.c :: shutdown_memory_manager produces segfault
  
  http://bugs.php.net/bug.php?id=22367edit=1
. undefined variable has a value
. RFC: Just bogus with Don't do this. ?


  http://bugs.php.net/bug.php?id=21918edit=1
. strange behaviour of mixed type in array-keys
. See #21788

  http://bugs.php.net/bug.php?id=21788edit=1
. array_multisort() changes array keys unexpectedly given numeric strings as 
keys
. See #21918

  Last two are related to each other, afaics, and need some discussion
  what we should do about it or if nothing. Also related to these
  is http://bugs.php.net/bug.php?id=8325.

   
--Jani





-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [WARNING] Release process for 4.3.2 starts RSN..

2003-02-23 Thread Shane Caraveo
I wanted to run through all the cgi stuff in detail again for 432, but 
likely wont have the time by the 26th to do that.
Shane

Jani Taskinen wrote:
To get this thing started, I'm going to roll PHP 4.3.2-pre1
on Wednesday, 26th Feb, around 3pm EEST. And I'll announce
it on php-general too, to get some more people testing it
before we start with any RCs.
Following is collection of bugs marked as critical and verified
which should be looked into and dealt with. If not fixed,
then please, PLEASE add some comment why they won't ever
be fixed and bogus the out.


Critical:
 
  http://bugs.php.net/bug.php?id=20190edit=1 
  . Random mem corruption: zend_get_executed_filename() mismatch

  http://bugs.php.net/bug.php?id=21820edit=1 
  . bc break in parser: $arr[val] vs $arr['val']

  http://bugs.php.net/bug.php?id=22372edit=1
  . Don't forget to bump the PHP API number for 4.3.2 release
Verified bugs (Scripting Engine related):

  http://bugs.php.net/bug.php?id=15209edit=1
. register_shutdown_function() broke between 4.0.x to 4.1.x
- Zeev: Either close as bogus saying it's intended behaviour or 
finally get around and FIX IT. ([EMAIL PROTECTED] has a patch?)

  http://bugs.php.net/bug.php?id=21513edit=1
. shutdown functions not executed if timed out [win32 only]
  
  http://bugs.php.net/bug.php?id=15438edit=1
. include_once fails when comparing output to a value

  http://bugs.php.net/bug.php?id=17997edit=1
. got wanning when combing switch  reference
  
  http://bugs.php.net/bug.php?id=20548edit=1
. Decrement ($x[$y]--) doesn't work on uninitiated variable

  http://bugs.php.net/bug.php?id=21478edit=1
. Zend/zend_alloc.c :: shutdown_memory_manager produces segfault
  
  http://bugs.php.net/bug.php?id=22367edit=1
. undefined variable has a value
. RFC: Just bogus with Don't do this. ?

  http://bugs.php.net/bug.php?id=21918edit=1
. strange behaviour of mixed type in array-keys
. See #21788

  http://bugs.php.net/bug.php?id=21788edit=1
. array_multisort() changes array keys unexpectedly given numeric strings as keys
. See #21918

  Last two are related to each other, afaics, and need some discussion
  what we should do about it or if nothing. Also related to these
  is http://bugs.php.net/bug.php?id=8325.
   
--Jani







--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DEV] [WARNING] Release process for 4.3.2 starts RSN..

2003-02-23 Thread Jani Taskinen

It's just the date for pre1, no need to worry about that yet. :)
(RC1 will be later)

--Jani


On Sun, 23 Feb 2003, Shane Caraveo wrote:

I wanted to run through all the cgi stuff in detail again for 432, but 
likely wont have the time by the 26th to do that.
Shane

Jani Taskinen wrote:
 To get this thing started, I'm going to roll PHP 4.3.2-pre1
 on Wednesday, 26th Feb, around 3pm EEST. And I'll announce
 it on php-general too, to get some more people testing it
 before we start with any RCs.
 
 Following is collection of bugs marked as critical and verified
 which should be looked into and dealt with. If not fixed,
 then please, PLEASE add some comment why they won't ever
 be fixed and bogus the out.
 
 
 Critical:
  
   http://bugs.php.net/bug.php?id=20190edit=1 
   . Random mem corruption: zend_get_executed_filename() mismatch
 
   http://bugs.php.net/bug.php?id=21820edit=1 
   . bc break in parser: $arr[val] vs $arr['val']
 
   http://bugs.php.net/bug.php?id=22372edit=1
   . Don't forget to bump the PHP API number for 4.3.2 release
 
 
 Verified bugs (Scripting Engine related):
 
   http://bugs.php.net/bug.php?id=15209edit=1
 . register_shutdown_function() broke between 4.0.x to 4.1.x
 - Zeev: Either close as bogus saying it's intended behaviour or 
 finally get around and FIX IT. ([EMAIL PROTECTED] has a patch?)
 
   http://bugs.php.net/bug.php?id=21513edit=1
 . shutdown functions not executed if timed out [win32 only]
   
   http://bugs.php.net/bug.php?id=15438edit=1
 . include_once fails when comparing output to a value
 
   http://bugs.php.net/bug.php?id=17997edit=1
 . got wanning when combing switch  reference
   
   http://bugs.php.net/bug.php?id=20548edit=1
 . Decrement ($x[$y]--) doesn't work on uninitiated variable
 
   http://bugs.php.net/bug.php?id=21478edit=1
 . Zend/zend_alloc.c :: shutdown_memory_manager produces segfault
   
   http://bugs.php.net/bug.php?id=22367edit=1
 . undefined variable has a value
 . RFC: Just bogus with Don't do this. ?
 
 
   http://bugs.php.net/bug.php?id=21918edit=1
 . strange behaviour of mixed type in array-keys
 . See #21788
 
   http://bugs.php.net/bug.php?id=21788edit=1
 . array_multisort() changes array keys unexpectedly given numeric strings 
 as keys
 . See #21918
 
   Last two are related to each other, afaics, and need some discussion
   what we should do about it or if nothing. Also related to these
   is http://bugs.php.net/bug.php?id=8325.
 

 --Jani
 
 
 
 
 


-- 
- For Sale! -


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] CVS Account Request: luisdaniel

2003-02-23 Thread Luis Daniel Ribeiro Louro
Help translate documentation to portuguese (PORTUGAL) and mantain it (if you need).

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php