#45002 [Com]: __get() and __set() don't work for static variable calls

2009-01-08 Thread jeremie dot bordier at gmail dot com
 ID:   45002
 Comment by:   jeremie dot bordier at gmail dot com
 Reported By:  jb2386 at hotmail dot com
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: Any
 PHP Version:  5.2.6
 New Comment:

Could this patch be reviewed and committed ? It's been a long time now
for a such little feature...


Previous Comments:


[2008-11-25 03:50:55] cleeder at gmail dot com

How long until we can expect to see this patch in the production
version of PHP?



[2008-09-13 14:42:23] the...@php.net

There is a patch available at 

  http://sitten-polizei.de/php/getstatic.diff



[2008-05-15 08:42:05] jb2386 at hotmail dot com

Description:

As per bug report: http://bugs.php.net/bug.php?id=39678

"Static class attributes cannot be accessed using __get and 
__set methods."

Also, for reference to "__callStatic" see:
http://bugs.php.net/bug.php?id=26739

With the implementation of __callStatic in PHP 5.3, will there be an
implementation of similar functions __getStatic() and __setStatic()?

For example, so replacing __get and __set with __getStatic() and
__setStatic() respectively will produce the "Expected Output" below?

Reproduce code:
---
class myClass {

public function __set($name,$value) {
echo "Setting: " . $name . " to " . $value."\n";
self::$$name = $value;
}

public function __get($name) {
echo "Getting: " . $name . "\n";
}
}

myClass::$myStaticVar = "test";
echo myClass::$myStaticVar;

Expected result:

Setting: myStaticVar to test
Getting: myStaticVar

Actual result:
--
Fatal error: Access to undeclared static property:  
myClass::$myStaticVar





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



#47034 [NEW]: Prepared-Statement fails when MySQL-Server under load

2009-01-08 Thread raphithom at gmx dot ch
From: raphithom at gmx dot ch
Operating system: FreeBSD 6.3-RELEASE-p5
PHP version:  5.2.8
PHP Bug Type: MySQLi related
Bug description:  Prepared-Statement fails when MySQL-Server under load

Description:

Hello

As backup-procedure we use 4 concurrent mysql-dump processes. When these
processes are running, MySQLi-Prepared-Statements can't be executed and the
following error appears:

Errno: 1615
Message: Prepared statement needs to be re-prepared

In my opinion it doesn't seem to be a mysql-problem because
prepared-statements with PDO and "normal" mysql_query() or mysqli->query()
work as expected. The error doesn't occur if no mysqldumps are running. 

Reproduce code:
---
http://tmp.raphis.ch/mysqli_problem.phps

Expected result:

All queries should return the same texts.

Actual result:
--
mysqli-select, mysql_select and PDO work as expected. mysqli-prepared
statements exits with:

Errno: 1615
Message: Prepared statement needs to be re-prepared

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



#47035 [NEW]: dns_get_record returns a garbage byte at the end of a TXT record

2009-01-08 Thread valli at icsurselva dot ch
From: valli at icsurselva dot ch
Operating system: gentoo
PHP version:  5.2.8
PHP Bug Type: Network related
Bug description:  dns_get_record returns a garbage byte at the end of a TXT 
record

Description:

The last byte of a TXT record returned by dns_get_record
is garbage.


Reproduce code:
---
$rt = dns_get_record('82.19.186.195.countries.blackholes.us', DNS_TXT);
$txt = $rt[0]['txt'];
print $txt." (".strlen($txt).")\n";
foreach(str_split($txt) as $char) {
print "$char\t".ord($char)."\n";
}


Expected result:

ch (2)
c   99
h   104


Actual result:
--
ch (3)
c   99
h   104
128


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



#47034 [Opn]: Prepared-Statement fails when MySQL-Server under load

2009-01-08 Thread raphithom at gmx dot ch
 ID:   47034
 User updated by:  raphithom at gmx dot ch
 Reported By:  raphithom at gmx dot ch
 Status:   Open
 Bug Type: MySQLi related
 Operating System: FreeBSD 6.3-RELEASE-p5
 PHP Version:  5.2.8
 New Comment:

I forgot to mention, that the mysqldumps are running on other
databases, not on the one where I'm executing the prepared statement.


Previous Comments:


[2009-01-08 08:57:44] raphithom at gmx dot ch

Description:

Hello

As backup-procedure we use 4 concurrent mysql-dump processes. When
these processes are running, MySQLi-Prepared-Statements can't be
executed and the following error appears:

Errno: 1615
Message: Prepared statement needs to be re-prepared

In my opinion it doesn't seem to be a mysql-problem because
prepared-statements with PDO and "normal" mysql_query() or
mysqli->query() work as expected. The error doesn't occur if no
mysqldumps are running. 

Reproduce code:
---
http://tmp.raphis.ch/mysqli_problem.phps

Expected result:

All queries should return the same texts.

Actual result:
--
mysqli-select, mysql_select and PDO work as expected. mysqli-prepared
statements exits with:

Errno: 1615
Message: Prepared statement needs to be re-prepared





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



#47035 [Com]: dns_get_record returns a garbage byte at the end of a TXT record

2009-01-08 Thread valli at icsurselva dot ch
 ID:   47035
 Comment by:   valli at icsurselva dot ch
 Reported By:  valli at icsurselva dot ch
 Status:   Open
 Bug Type: Network related
 Operating System: gentoo
 PHP Version:  5.2.8
 New Comment:

Here's my current workaround:

$rt = @dns_get_record($lookuphost, DNS_ANY);
// workaround for http://bugs.php.net/bug.php?id=47035
if (substr(PHP_VERSION,0,strpos(PHP_VERSION, '-')) == '5.2.8') {
for($i = 0, $rts = sizeof($rt); $i < $rts; ++$i) {
if ($rt[$i]['type'] == 'TXT') {
// remove last byte
$rt[$i]['txt'] = substr($rt[$i]['txt'], 0, -1);
}
}
}


Previous Comments:


[2009-01-08 09:07:24] valli at icsurselva dot ch

Description:

The last byte of a TXT record returned by dns_get_record
is garbage.


Reproduce code:
---
$rt = dns_get_record('82.19.186.195.countries.blackholes.us',
DNS_TXT);
$txt = $rt[0]['txt'];
print $txt." (".strlen($txt).")\n";
foreach(str_split($txt) as $char) {
print "$char\t".ord($char)."\n";
}


Expected result:

ch (2)
c   99
h   104


Actual result:
--
ch (3)
c   99
h   104
128






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



#47035 [Opn->Asn]: dns_get_record returns a garbage byte at the end of a TXT record

2009-01-08 Thread pajoye
 ID:   47035
 Updated by:   paj...@php.net
 Reported By:  valli at icsurselva dot ch
-Status:   Open
+Status:   Assigned
 Bug Type: Network related
 Operating System: gentoo
 PHP Version:  5.2.8
-Assigned To:  
+Assigned To:  felipe
 New Comment:

Felipe, can you give it a try please?

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.70.2.7&r2=1.70.2.7.2.7&pathrev=PHP_5_2




Previous Comments:


[2009-01-08 09:31:41] valli at icsurselva dot ch

Here's my current workaround:

$rt = @dns_get_record($lookuphost, DNS_ANY);
// workaround for http://bugs.php.net/bug.php?id=47035
if (substr(PHP_VERSION,0,strpos(PHP_VERSION, '-')) == '5.2.8') {
for($i = 0, $rts = sizeof($rt); $i < $rts; ++$i) {
if ($rt[$i]['type'] == 'TXT') {
// remove last byte
$rt[$i]['txt'] = substr($rt[$i]['txt'], 0, -1);
}
}
}



[2009-01-08 09:07:24] valli at icsurselva dot ch

Description:

The last byte of a TXT record returned by dns_get_record
is garbage.


Reproduce code:
---
$rt = dns_get_record('82.19.186.195.countries.blackholes.us',
DNS_TXT);
$txt = $rt[0]['txt'];
print $txt." (".strlen($txt).")\n";
foreach(str_split($txt) as $char) {
print "$char\t".ord($char)."\n";
}


Expected result:

ch (2)
c   99
h   104


Actual result:
--
ch (3)
c   99
h   104
128






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



#47017 [Opn->Fbk]: mysqlnd not works with MYSQL_CLIENT_COMPRESS flag

2009-01-08 Thread andrey
 ID:   47017
 Updated by:   and...@php.net
 Reported By:  surfchen at gmail dot com
-Status:   Open
+Status:   Feedback
 Bug Type: MySQL related
 Operating System: Mac OSX
 PHP Version:  5.3CVS-2009-01-06 (snap)
 New Comment:

Is the bug that the connection cannot be used after setting the flag or
that the compressed protocol is not supported? Do you use the
compression and how does it make your application run faster? Is your
MySQL server on the local network or remote?

Thanks you!
Andrey


Previous Comments:


[2009-01-06 10:45:39] surfchen at gmail dot com

Description:

If mysql_connect(use mysqlnd as driver) with MYSQL_CLIENT_COMPRESS,the
script blocks on mysql_query calling for a while and output warning.

Reproduce code:
---
mysql_connect('127.0.0.1:3306','root','urpig',false,MYSQL_CLIENT_COMPRESS);
mysql_query('SELECT 1');

Expected result:

no warning

Actual result:
--
Warning: mysql_query(): Error while reading SET_OPTION's EOF packet.
PID=20646





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



#42589 [Opn->Asn]: getColumnMeta() should also return table name

2009-01-08 Thread pajoye
 ID:   42589
 Updated by:   paj...@php.net
 Reported By:  fabrizio dot balliano at crealabs dot it
-Status:   Open
+Status:   Assigned
 Bug Type: PDO related
 Operating System: *
 PHP Version:  5.2.4
-Assigned To:  
+Assigned To:  scottmac
 New Comment:

Scott, can you take a look at the patch please?


Previous Comments:


[2008-11-30 11:47:12] m...@php.net

MySQL has been supporting this for quite some time now.  My patch for
SQLite is still pending, I guess.



[2007-10-13 09:59:58] m...@php.net

I have suggested a first patch to implement this for MySQL and SQLite:
http://news.php.net/php.internals/32742



[2007-09-07 16:07:43] fabrizio dot balliano at crealabs dot it

Description:

if you do 
"select * from table1 join table2 on (table1.id=table2.id)

how can you understand which fields are coming from table1 and which
from table2?

the only way is that getcolumnmeta() also returns the table name of
every column






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



#47017 [Fbk->Opn]: mysqlnd not works with MYSQL_CLIENT_COMPRESS flag

2009-01-08 Thread surfchen at gmail dot com
 ID:   47017
 User updated by:  surfchen at gmail dot com
 Reported By:  surfchen at gmail dot com
-Status:   Feedback
+Status:   Open
 Bug Type: MySQL related
 Operating System: Mac OSX
 PHP Version:  5.3CVS-2009-01-06 (snap)
 New Comment:

> Is the bug that the connection cannot be used after setting the flag
or that the compressed protocol is not supported? 
This is can be used for mysql_get_server_info()(maybe this function was
getting these info on connecting) and similar functions,but can't be
used for mysql_query().What's more,when using for mysql_set_charset(),a
large memory was allocated(Fatal error: Allowed memory size of 134217728
bytes exhausted (tried to allocate 807601282 bytes)),It's so
strange.(memory problem is another topic, sorry for explaining here.)


> Do you use the compression and how does it make your application run
faster? 
I can't follow your meaning.This question seems not related to our
topic.

> Is your MySQL server on the local network or remote?
I have tested both unix socket and tcp in my box.No "network".And my
mysql server have compression enabled(it need to be enable?I forget.).It
can be connected and used with php ext/mysql driven by lib libmysql with
the MYSQL_CLIENT_COMPRESS.so it's not a server problem.

Let me desc more detail.

I don't know mysqlnd how to link and use compression lib,but I have
compile with "./configure --with-mysql=mysqlnd --with-zlib
--with-zlib-dir=/usr/local" and I can see "ZLib Support => enabled" in
php -i(means that the zlib dir are correct.), and During the
compilation,there is error ,warning or notice tell me that "you was
doing incorrectly".

This bug is raised whether enable zts or not.


Previous Comments:


[2009-01-08 10:48:51] and...@php.net

Is the bug that the connection cannot be used after setting the flag or
that the compressed protocol is not supported? Do you use the
compression and how does it make your application run faster? Is your
MySQL server on the local network or remote?

Thanks you!
Andrey



[2009-01-06 10:45:39] surfchen at gmail dot com

Description:

If mysql_connect(use mysqlnd as driver) with MYSQL_CLIENT_COMPRESS,the
script blocks on mysql_query calling for a while and output warning.

Reproduce code:
---
mysql_connect('127.0.0.1:3306','root','urpig',false,MYSQL_CLIENT_COMPRESS);
mysql_query('SELECT 1');

Expected result:

no warning

Actual result:
--
Warning: mysql_query(): Error while reading SET_OPTION's EOF packet.
PID=20646





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



#30335 [Com]: fgetcsv + foreign characters

2009-01-08 Thread sandyhbdev at gmail dot com
 ID:   30335
 Comment by:   sandyhbdev at gmail dot com
 Reported By:  gruszczol1 at poczta dot onet dot pl
 Status:   No Feedback
 Bug Type: Filesystem function related
 Operating System: linux
 PHP Version:  5.0.2
 New Comment:

Thanks moriyoshi,
we can do it by changing LC_CTYPE vriable.
we can read unknown char. from csv if it's begining of value,too

Thank you very much


Previous Comments:


[2008-03-31 09:49:32] hkroger at gmail dot com

I can confirm that this still occurs on PHP 5.1.6 on Linux with
windows-1250 text files. Please open it again.



[2005-11-11 13:53:04] mdv at inyourpocket dot com

i tested in on php 5.0.5



[2005-11-11 13:49:51] mdv at inyourpocket dot com

it looks that fgetcsv depends on locales



x.txt get here http://lampa.naut.cz/x.txt (text contains text
windows-1250 encoding "aa©\t©vvv" \t is TAB)

result when locale POSIX:
aa©©vvv
Array
(
[0] => aa©
[1] => vvv
)

result when locale cs_CZ:
aa©©vvv
Array
(
[0] => aa©
[1] => ©vvv
)



[2004-10-16 01:00:02] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".



[2004-10-07 17:15:23] moriyo...@php.net

Try setting LC_CTYPE (or LANG) environment variable to 
"pl_PL.ISO-8859-2".



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
http://bugs.php.net/30335

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



#47037 [NEW]: No error when using fopen with emty string

2009-01-08 Thread yarontal12 at gmail dot com
From: yarontal12 at gmail dot com
Operating system: Win XP
PHP version:  5.2CVS-2009-01-08 (snap)
PHP Bug Type: Filesystem function related
Bug description:  No error when using fopen with emty string

Description:

$fh = fopen("", "r");
that doesn't produce an error, but doesn't return a valid stream either.
Same problem with passing NULL or ''.

Reproduce code:
---
$fh = fopen("", "r");

Expected result:

Warning: fopen() [function.fopen]: failed to open stream: No such file or
directory in test.php on line 2

Actual result:
--
nothing

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



#47037 [Com]: No error when using fopen with emty string

2009-01-08 Thread crrodriguez at opensuse dot org
 ID:   47037
 Comment by:   crrodriguez at opensuse dot org
 Reported By:  yarontal12 at gmail dot com
 Status:   Open
 Bug Type: Filesystem function related
 Operating System: Win XP
 PHP Version:  5.2CVS-2009-01-08 (snap)
 New Comment:

Yeah, I agree with you.

Index: main/streams/streams.c
===
RCS file: /repository/php-src/main/streams/streams.c,v
retrieving revision 1.82.2.6.2.31
diff -u -p -r1.82.2.6.2.31 streams.c
--- main/streams/streams.c  24 Nov 2008 15:37:33 - 
1.82.2.6.2.31
+++ main/streams/streams.c  8 Jan 2009 15:47:34 -
@@ -1763,6 +1763,7 @@ PHPAPI php_stream *_php_stream_open_wrap
}

if (!path || !*path) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, "Filename
cannot be empty");
return NULL;
}


Previous Comments:


[2009-01-08 14:37:31] yarontal12 at gmail dot com

Description:

$fh = fopen("", "r");
that doesn't produce an error, but doesn't return a valid stream
either.
Same problem with passing NULL or ''.

Reproduce code:
---
$fh = fopen("", "r");

Expected result:

Warning: fopen() [function.fopen]: failed to open stream: No such file
or directory in test.php on line 2

Actual result:
--
nothing





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



#47038 [NEW]: Memory leak in include()

2009-01-08 Thread tim at digicol dot de
From: tim at digicol dot de
Operating system: Linux (Debian 4.0 x86)
PHP version:  5.3CVS-2009-01-08 (snap)
PHP Bug Type: Scripting Engine problem
Bug description:  Memory leak in include()

Description:

With today's PHP 5.3 snapshot, include() on my Linux box leaks memory; 
I've noticed this because we're using long-running scripts with the 
PHP CLI (where Smarty's fetch/display methods call include()...). This 
doesn't happen with PHP 5.2.6.

I tested with an unchanged copy of php.ini-recommended and just 
'./configure' without any options, on Debian Linux 4.0, running in 
VMware Fusion on my Intel Mac.

Thanks for looking into this, and for the great work on PHP!

Reproduce code:
---


Expected result:

No increase in memory usage.

Actual result:
--
Memory usage increases constantly, until PHP exits because the memory 
limit is exceeded.

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



#44917 [Com]: CDATA with german umlauts fails

2009-01-08 Thread quamis at gmail dot com
 ID:   44917
 Comment by:   quamis at gmail dot com
 Reported By:  me at mkavel dot de
 Status:   No Feedback
 Bug Type: SimpleXML related
 Operating System: Gentoo
 PHP Version:  5.2.6
 New Comment:

duplicate of http://bugs.php.net/bug.php?id=44478

PS: you(PHP bug section devs) have some serios problems with the
captha... missed it twice because of the small image.


Previous Comments:


[2008-09-03 01:00:01] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".



[2008-08-26 23:01:11] j...@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.





[2008-05-05 14:29:59] me at mkavel dot de

Description:

Some special German (latin1) caracters could not be set correctly.

The code produces different output between addCild and directly set of
the value in an existing child.

Reproduce code:
---
// 1
$xml->obermenue[0]->addChild("titel","");

// 2
$xml->obermenue[0]->titel="";


Expected result:

1:
Output: 

2:
Output: 



Actual result:
--
1:
Output: 

Please look at the "<" and "&" in the first Output. It changed to
"<" and the "&" not change.

2:
Output: 

This one the "<" changed to "<" too but the "&" chnaged to "&"





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



#47035 [Asn->Csd]: dns_get_record returns a garbage byte at the end of a TXT record

2009-01-08 Thread felipe
 ID:   47035
 Updated by:   fel...@php.net
 Reported By:  valli at icsurselva dot ch
-Status:   Assigned
+Status:   Closed
 Bug Type: Network related
 Operating System: gentoo
 PHP Version:  5.2.8
 Assigned To:  felipe
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

Thanks.


Previous Comments:


[2009-01-08 10:45:05] paj...@php.net

Felipe, can you give it a try please?

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.70.2.7&r2=1.70.2.7.2.7&pathrev=PHP_5_2





[2009-01-08 09:31:41] valli at icsurselva dot ch

Here's my current workaround:

$rt = @dns_get_record($lookuphost, DNS_ANY);
// workaround for http://bugs.php.net/bug.php?id=47035
if (substr(PHP_VERSION,0,strpos(PHP_VERSION, '-')) == '5.2.8') {
for($i = 0, $rts = sizeof($rt); $i < $rts; ++$i) {
if ($rt[$i]['type'] == 'TXT') {
// remove last byte
$rt[$i]['txt'] = substr($rt[$i]['txt'], 0, -1);
}
}
}



[2009-01-08 09:07:24] valli at icsurselva dot ch

Description:

The last byte of a TXT record returned by dns_get_record
is garbage.


Reproduce code:
---
$rt = dns_get_record('82.19.186.195.countries.blackholes.us',
DNS_TXT);
$txt = $rt[0]['txt'];
print $txt." (".strlen($txt).")\n";
foreach(str_split($txt) as $char) {
print "$char\t".ord($char)."\n";
}


Expected result:

ch (2)
c   99
h   104


Actual result:
--
ch (3)
c   99
h   104
128






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



#47037 [Opn->Asn]: No error when using fopen with emty string

2009-01-08 Thread felipe
 ID:   47037
 Updated by:   fel...@php.net
 Reported By:  yarontal12 at gmail dot com
-Status:   Open
+Status:   Assigned
 Bug Type: Filesystem function related
 Operating System: Win XP
 PHP Version:  5.2CVS-2009-01-08 (snap)
-Assigned To:  
+Assigned To:  felipe


Previous Comments:


[2009-01-08 15:48:16] crrodriguez at opensuse dot org

Yeah, I agree with you.

Index: main/streams/streams.c
===
RCS file: /repository/php-src/main/streams/streams.c,v
retrieving revision 1.82.2.6.2.31
diff -u -p -r1.82.2.6.2.31 streams.c
--- main/streams/streams.c  24 Nov 2008 15:37:33 - 
1.82.2.6.2.31
+++ main/streams/streams.c  8 Jan 2009 15:47:34 -
@@ -1763,6 +1763,7 @@ PHPAPI php_stream *_php_stream_open_wrap
}

if (!path || !*path) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, "Filename
cannot be empty");
return NULL;
}



[2009-01-08 14:37:31] yarontal12 at gmail dot com

Description:

$fh = fopen("", "r");
that doesn't produce an error, but doesn't return a valid stream
either.
Same problem with passing NULL or ''.

Reproduce code:
---
$fh = fopen("", "r");

Expected result:

Warning: fopen() [function.fopen]: failed to open stream: No such file
or directory in test.php on line 2

Actual result:
--
nothing





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



#47041 [NEW]: PHP is not finding 32-bit libnetsnmp.so in /usr/sfw/lib/

2009-01-08 Thread nullpass at gmail dot com
From: nullpass at gmail dot com
Operating system: Solaris 10 SPARC
PHP version:  5.2.8
PHP Bug Type: Compile Failure
Bug description:  PHP is not finding 32-bit libnetsnmp.so in /usr/sfw/lib/

Description:

I am unable to convince PHP to use the 32-bit version of libnetsnmp.so.

Compiling PHP with 
   --with-snmp=/usr/sfw 
to use Sun's distro of net-snmp

crle is:
crle -c /var/ld/ld.config -l /usr/lib:/lib:/usr/local/lib:/usr/sfw/lib

PHP needs to use the 32-bit library in
/usr/sfw/lib/libnetsnmp.so (ELF 32-bit MSB dynamic lib SPARC32PLUS Version
1, V8+ Required, dynamically linked, not stripped)

but instead it is going for the 64-bit library in:
/usr/sfw/lib/sparcv9/libnetsnmp.so (ELF 64-bit MSB dynamic lib SPARCV9
Version 1, dynamically linked, not stripped)

This results in the error:
ld: fatal: file /usr/sfw/lib/sparcv9/libnetsnmp.so: wrong ELF class:
ELFCLASS64
ld: fatal: File processing errors. No output written to .libs/libphp5.so
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `libphp5.la'



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



#47042 [NEW]: php cgi sapi is incorrectly removing the SCRIPT_FILENAME for non apache

2009-01-08 Thread sriram dot natarajan at sun dot com
From: sriram dot natarajan at sun dot com
Operating system: linux , solaris
PHP version:  5.2.8
PHP Bug Type: *Web Server problem
Bug description:  php cgi sapi is incorrectly removing the SCRIPT_FILENAME for 
non apache

Description:

currently, php cgi sapi code checks for redirect url and
env_path_translated to determine if the request is coming from apache web
server and accordingly modifies the CGI environment variables so that
server can continue processing. 

however, this check is insufficient considering that any web server
exporting SCRIPT_FILENAME and REDIRECT_URL with some value will be hit by
the apache specific processing.



Reproduce code:
---
  if (env_path_translated != NULL && env_redirect_url != NULL) {
/*
   pretty much apache specific.  If we have a
redirect_url
   then our script_filename and script_name point to the
   php executable
*/
script_path_translated = env_path_translated;
/* we correct SCRIPT_NAME now in case we don't have
PATH_INFO */
env_script_name = env_redirect_url;
}



Expected result:

server should continue processing

Actual result:
--
no input file is returned

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



#47042 [Com]: php cgi sapi is incorrectly removing the SCRIPT_FILENAME for non apache

2009-01-08 Thread sriram dot natarajan at sun dot com
 ID:   47042
 Comment by:   sriram dot natarajan at sun dot com
 Reported By:  sriram dot natarajan at sun dot com
 Status:   Open
 Bug Type: *Web Server problem
 Operating System: linux , solaris
 PHP Version:  5.2.8
 New Comment:

here is the suggested patch to address this issue

--- sapi/cgi/cgi_main.c.ORIGWed Jan  7 07:10:14 2009
+++ sapi/cgi/cgi_main.c Wed Jan  7 19:37:21 2009
@@ -960,16 +960,18 @@
TRANSLATE_SLASHES(env_document_root);
}
 
-   if (env_path_translated != NULL &&
env_redirect_url != NULL) {
-   /* 
-  pretty much apache specific.  If we
have a redirect_url
-  then our script_filename and
script_name point to the
-  php executable
-   */
-   script_path_translated =
env_path_translated;
-   /* we correct SCRIPT_NAME now in case
we don't have PATH_INFO */
-   env_script_name = env_redirect_url;
-   }
+if (env_path_translated != NULL &&
env_redirect_url != NULL &&
+orig_script_filename != NULL &&
script_path_translated != NULL &&
+strcmp(orig_script_filename,
script_path_translated) != 0) {
+/*
+   pretty much apache specific.  If we
have a redirect_url
+   then our script_filename and
script_name point to the
+   php executable
+*/
+script_path_translated =
env_path_translated;
+/* we correct SCRIPT_NAME now in case
we don't have PATH_INFO */
+env_script_name = env_redirect_url;
+}


Previous Comments:


[2009-01-08 20:04:39] sriram dot natarajan at sun dot com

Description:

currently, php cgi sapi code checks for redirect url and
env_path_translated to determine if the request is coming from apache
web server and accordingly modifies the CGI environment variables so
that server can continue processing. 

however, this check is insufficient considering that any web server
exporting SCRIPT_FILENAME and REDIRECT_URL with some value will be hit
by the apache specific processing.



Reproduce code:
---
  if (env_path_translated != NULL && env_redirect_url != NULL)
{
/*
   pretty much apache specific.  If we have a
redirect_url
   then our script_filename and script_name point to
the
   php executable
*/
script_path_translated = env_path_translated;
/* we correct SCRIPT_NAME now in case we don't have
PATH_INFO */
env_script_name = env_redirect_url;
}



Expected result:

server should continue processing

Actual result:
--
no input file is returned





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



#41023 [Com]: Enhance PHP "With" a Fluent Interface

2009-01-08 Thread akimmalkov at gmail dot com
 ID:   41023
 Comment by:   akimmalkov at gmail dot com
 Reported By:  codeslinger at compsalot dot com
 Status:   Open
 Bug Type: Feature/Change Request
 Operating System: any
 PHP Version:  5.2.1
 New Comment:

It's usefull ability and I often need it when coding.


Previous Comments:


[2008-09-01 13:15:08] fqqdk at freemail dot hu

this stuff should be extended to every member (not only methods, but
properties also)

$obj = new stdClass;
$obj->foo = 'bar';

with($obj) {
  $baz = ->foo;
}



[2007-04-08 17:05:15] codeslinger at compsalot dot com

Description:

Given all of the buzz about "Fluent Interface" programming, see for
instance: http://devzone.zend.com/node/view/id/1362

I decided that it would be appropriate for me to request the one
feature more than any other that I miss not having in the fantastically
fabulous PHP.

The "With" operator provides an implied scope for any object Method
which does not otherwise specify an explicit object.


The goal is to increase the readability of complex programs which
contain repetitive object references (the usual case). It also reduces
typing == effort, and potentially enables the compiler to optimize
performance/access to the object.  As an additional bonus, maintenance
and clarity is increased because there is a central point for the
refered to object in a block of code, thus requiring one change instead
of many.

I refer you to discussions elsewhere as to the desirability of this
syntatic sugar.

1) http://devzone.zend.com/node/view/id/1362
2) http://www.mikenaberezny.com/archives/35
3) http://en.wikipedia.org/wiki/Fluent_interface
4) http://martinfowler.com/bliki/FluentInterface.html
5)
http://schlitt.info/applications/blog/index.php?/archives/400-A-sensible-place-for-a-fluent-interface.html



Reproduce code:
---
---
Thus:

$oMyFoo = new ClassFoo;

$oMyFoo->DoSomething();
$oMyFoo->DoSomethingElse();
$oMyFoo->DoOther();
$oMyFoo->DoEtc();

$Assigned = $oMyFoo->DoSomethingElse() + $oMyFoo->SomeOther() +
$oMyFoo->Another();


Expected result:

-
Under the "Fluent Interface" paradigm in which every Method returns a
reference to *the* object, it becomes:

$oMyFoo = new ClassFoo;

$oMyFoo->DoSomething()
  ->DoSomethingElse()
  ->DoOther()
  ->DoEtc()
;

Note that the above is really just:

$oMyFoo->DoSomething()->DoSomethingElse()->DoOther()->DoEtc();


However, the object class must be specially written to support this and
you can not return other values, thus the "$Assigned =" is not
possible.

But by implementing a "With" construct, any object can be used without
modification, and you do not give up the ability to return values.

-
Desired Approach:

$oMyFoo = new ClassFoo;

With($oMyFoo)
{ 
  ->DoSomething();
  ->DoSomethingElse();
  ->DoOther();
  ->DoEtc();

  $Assigned = ->DoSomethingElse() + ->SomeOther() + ->Another();
}


For any unqualified Method, the referent object is defined by the
"With" clause.  Naturally, "With" can be nested.

As you can see, the readability of the code is greatly enhanced and
full functionality is retained.








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



#47043 [NEW]: Compilation fails on Ming library

2009-01-08 Thread john at jcoppens dot com
From: john at jcoppens dot com
Operating system: Linux 386
PHP version:  5.2CVS-2009-01-08 (snap)
PHP Bug Type: Compile Failure
Bug description:  Compilation fails on Ming library

Description:

Compiling PHP with the following configuration:

./configure --with-mysql=/opt/mysql -with-mysqli
--with-msql=/usr/local/msql \ 
--with-apxs \
--with-ming --with-zlib --with-bz2 --enable-exif --enable-ftp \  
--with-gd --enable-gd-native-ttf --with-ttf=/usr --enable-dbase \
--with-freetype-dir=/usr --enable-sockets --with-t1lib \
--prefix=/usr --enable-mbstring --with-libxml-dir=/usr --with-pspell \
--with-config-file-path=\etc\apache

causes a lot of undefined references, apparently all related to the ming
libraries.

Reproduce code:
---
configure with the above options,
make


Expected result:

Normal compilation

Actual result:
--
After a very long gcc command, probably near the end:

ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getRot':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1196: undefined
reference to `SWFDisplayItem_get_rot'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getYSkew':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1181: undefined
reference to `SWFDisplayItem_get_ySkew'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getXSkew':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1166: undefined
reference to `SWFDisplayItem_get_xSkew'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getYScale':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1151: undefined
reference to `SWFDisplayItem_get_yScale'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getXScale':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1136: undefined
reference to `SWFDisplayItem_get_xScale'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getY':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1121: undefined
reference to `SWFDisplayItem_get_y'
ext/ming/.libs/ming.o: In function `zim_swfdisplayitem_getX':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1106: undefined
reference to `SWFDisplayItem_get_x'
ext/ming/.libs/ming.o: In function `zim_swffont_getShape':
/usr/local/src/programming/php-5.2.8/ext/ming/ming.c:1609: undefined
reference to `SWFFont_getShape'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1


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



#47042 [Opn]: php cgi sapi is incorrectly removing the SCRIPT_FILENAME for non apache

2009-01-08 Thread sriram dot natarajan at sun dot com
 ID:   47042
 User updated by:  sriram dot natarajan at sun dot com
 Reported By:  sriram dot natarajan at sun dot com
 Status:   Open
 Bug Type: *Web Server problem
 Operating System: linux , solaris
 PHP Version:  5.2.8
 New Comment:

previous patch had whitespaces instead of tabs causing the patch to
appear distorted. 

posting a same patch with this issue addressed
--- sapi/cgi/cgi_main.c.ORIGThu Jan  8 14:18:25 2009
+++ sapi/cgi/cgi_main.c Thu Jan  8 14:18:31 2009
@@ -960,7 +960,9 @@
TRANSLATE_SLASHES(env_document_root);
}
 
-   if (env_path_translated != NULL &&
env_redirect_url != NULL) {
+   if (env_path_translated != NULL &&
env_redirect_url != NULL && 
+   orig_script_filename != NULL &&
script_path_translated != NULL &&
+   strcmp(orig_script_filename,
script_path_translated) != 0) {
/* 
   pretty much apache specific.  If we
have a redirect_url
   then our script_filename and
script_name point to the


Previous Comments:


[2009-01-08 20:06:25] sriram dot natarajan at sun dot com

here is the suggested patch to address this issue

--- sapi/cgi/cgi_main.c.ORIGWed Jan  7 07:10:14 2009
+++ sapi/cgi/cgi_main.c Wed Jan  7 19:37:21 2009
@@ -960,16 +960,18 @@
TRANSLATE_SLASHES(env_document_root);
}
 
-   if (env_path_translated != NULL &&
env_redirect_url != NULL) {
-   /* 
-  pretty much apache specific.  If we
have a redirect_url
-  then our script_filename and
script_name point to the
-  php executable
-   */
-   script_path_translated =
env_path_translated;
-   /* we correct SCRIPT_NAME now in case
we don't have PATH_INFO */
-   env_script_name = env_redirect_url;
-   }
+if (env_path_translated != NULL &&
env_redirect_url != NULL &&
+orig_script_filename != NULL &&
script_path_translated != NULL &&
+strcmp(orig_script_filename,
script_path_translated) != 0) {
+/*
+   pretty much apache specific.  If we
have a redirect_url
+   then our script_filename and
script_name point to the
+   php executable
+*/
+script_path_translated =
env_path_translated;
+/* we correct SCRIPT_NAME now in case
we don't have PATH_INFO */
+env_script_name = env_redirect_url;
+}



[2009-01-08 20:04:39] sriram dot natarajan at sun dot com

Description:

currently, php cgi sapi code checks for redirect url and
env_path_translated to determine if the request is coming from apache
web server and accordingly modifies the CGI environment variables so
that server can continue processing. 

however, this check is insufficient considering that any web server
exporting SCRIPT_FILENAME and REDIRECT_URL with some value will be hit
by the apache specific processing.



Reproduce code:
---
  if (env_path_translated != NULL && env_redirect_url != NULL)
{
/*
   pretty much apache specific.  If we have a
redirect_url
   then our script_filename and script_name point to
the
   php executable
*/
script_path_translated = env_path_translated;
/* we correct SCRIPT_NAME now in case we don't have
PATH_INFO */
env_script_name = env_redirect_url;
}



Expected result:

server should continue processing

Actual result:
--
no input file is returned





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



#47037 [Asn->Csd]: No error when using fopen with emty string

2009-01-08 Thread felipe
 ID:   47037
 Updated by:   fel...@php.net
 Reported By:  yarontal12 at gmail dot com
-Status:   Assigned
+Status:   Closed
 Bug Type: Filesystem function related
 Operating System: Win XP
 PHP Version:  5.2CVS-2009-01-08 (snap)
 Assigned To:  felipe
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

Fixed in 5_2, 5_3 and HEAD.

Thanks.


Previous Comments:


[2009-01-08 15:48:16] crrodriguez at opensuse dot org

Yeah, I agree with you.

Index: main/streams/streams.c
===
RCS file: /repository/php-src/main/streams/streams.c,v
retrieving revision 1.82.2.6.2.31
diff -u -p -r1.82.2.6.2.31 streams.c
--- main/streams/streams.c  24 Nov 2008 15:37:33 - 
1.82.2.6.2.31
+++ main/streams/streams.c  8 Jan 2009 15:47:34 -
@@ -1763,6 +1763,7 @@ PHPAPI php_stream *_php_stream_open_wrap
}

if (!path || !*path) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, "Filename
cannot be empty");
return NULL;
}



[2009-01-08 14:37:31] yarontal12 at gmail dot com

Description:

$fh = fopen("", "r");
that doesn't produce an error, but doesn't return a valid stream
either.
Same problem with passing NULL or ''.

Reproduce code:
---
$fh = fopen("", "r");

Expected result:

Warning: fopen() [function.fopen]: failed to open stream: No such file
or directory in test.php on line 2

Actual result:
--
nothing





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



#45776 [NoF->Csd]: apache2 crashes without file (any file!) named php5ts.dll in %windir%

2009-01-08 Thread sskaje at gmail dot com
 ID:   45776
 User updated by:  sskaje at gmail dot com
 Reported By:  sskaje at gmail dot com
-Status:   No Feedback
+Status:   Closed
 Bug Type: Reproducible crash
 Operating System: Windows XP sp3
 PHP Version:  5.3CVS-2008-08-10 (snap)
 Assigned To:  pajoye
 New Comment:

k
this error on longer happened since the next snapshot version that day
thx.


sskaje


Previous Comments:


[2008-08-18 01:00:00] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".



[2008-08-13 23:21:28] sskaje at gmail dot com

This is a snapshot for that popup message.

http://img227.imageshack.us/my.php?image=qqxp9.png

I am on a Simplified Chinese OS, so translating(not sure it is what i
am going to type below):

title: httpd.exe - application error

message body: 
   Memory offset(?) "0x0006" referred by instruction
"0x022723a1". Data on this address cant be 'read'.

   Click OK to terminate the program.
   Click Cancel to debug the program.



[2008-08-10 15:24:04] paj...@php.net

> Pierre, your build stuff is fubar.

Works on XP, 2k8, 2k3 and Vista. With apache 2.2 and 2.0.

Be sure to have a clean install without old dlls lying around.

> Otherwise there is a popup error when i have windows started 

What says this popup?



[2008-08-10 15:13:32] j...@php.net

Pierre, your build stuff is fubar.



[2008-08-10 08:10:53] sskaje at gmail dot com

Description:

Windows xp + apache 2.2.9 + php 5.3.0-dev

In httpd.conf, i have following configuration for php: 
[code]
# For PHP 5 do something like this:
LoadModule php5_module "h:/server/php53/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# configure the path to php.ini
PHPIniDir "h:/server/php53"
[/code]

On php5.3, i have to copy php53\php5ts.dll to %windir%. Otherwise there
is a popup error when i have windows started which has apache crashed on
starting up(i have apache2 installed as a system service and have it
running automatically ), and when i tried to start apache again with
'httpd -k start', a similar error was popup-ed.

So, %windir%\php5ts.dll of php5.3 seems to be necessary, but when i
have php5ts.dll cp-ed to \windows and then apache running, i can remove
%windir%\php5ts.dll as i want.

Hmm, that makes me feel that the php5ts.dll under %windir% is not
necessary as it looks like. So i took a test:
[code]
C:\WINDOWS>
C:\WINDOWS>move php5ts.dll _php5ts.dll

C:\WINDOWS>echo > php5ts.dll

C:\WINDOWS>dir *php5*
 Çý¶¯Æ÷ C ÖеľíûÓбêÇ©¡£
 ¾íµÄÐòÁкÅÊÇ E854-17BC

 C:\WINDOWS µÄĿ¼

2008-08-10  16:0521 php5ts.dll
2008-07-31  23:42 5,251,128 _php5ts.dll
   2 ¸öÎļþ  5,251,149 ×Ö½Ú
   0 ¸öĿ¼ 20,189,646,848 ¿ÉÓÃ×Ö½Ú

C:\WINDOWS>type php5ts.dll
ECHO ´¦ÓÚ´ò¿ª×´Ì¬¡£

C:\WINDOWS>httpd -k restart
Warning: DocumentRoot [H:/SVN/newborn/pages] does not exist

C:\WINDOWS>
[/code]
It works normally as it should be.

The conclusion is, i dont really have a php5ts.dll copied to %windir%,
but i have, at least, a file named php5ts.dll there, no matter what is
in it, if i wanna my apache+php5.3 work






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