I tried this snippet on both PC ....weirdest things happen.
See attached files
In short:
LPC -> Local PC -> slack (5.2.1)
RPC -> Remote PC -> debian (5.1.6-0.dotdeb.2)
on LPC I get warning + returned false on test.
on RPC I get no warning + returned true on test.
On both I get
"PCRE is not compiled with UTF-8 and Unicode support"
See attached files for output + script used.
Andries Seutens wrote:
>
> Joshua (and others that are facing the same problem),
>
> Please try running the following code on the machine where the AlNum
> filter is failing:
>
> <?php
> if (!preg_match('/\pL/u', 'a')) die('PCRE is not compiled with UTF-8
> and Unicode support');
>
> You'll probably see "PCRE is not compiled with UTF-8 and Unicode
> support" ... ? Let me/us know if this isn't the case, because that
> would be really weird.
>
> Best,
>
>
>
> Andries Seutens
> http://andries.systray.be
>
>> We are also having problems using Zend_Validate_Alpha and
>> Zend_Validate_Alnum but only on our production RHEL5 server. Using
>> xampp locally on windows XP the same code works perfectly. Prior to
>> 1.0RC3 this worked on production as well. We are running ZF 1.0RC3.
>> Here is the test code(similar to original post):
>>
>> $validator = new Zend_Validate_Alnum();
>>
>> $vars = array('Alnum' => 'foobar1',
>> 'notAlnum' => '[EMAIL PROTECTED]');
>> foreach ($vars as $var) {
>> echo $validator->isValid($var) ? $var.":true\n":$var.":false\n";
>> }
>>
>> RHEL5 response:
>> foobar1:false
>> [EMAIL PROTECTED]:false
>>
>> WindowsXP response:
>> foobar1:true
>> [EMAIL PROTECTED]:false
>>
>>
>> RHEL 5 System details:
>> ******************************************************
>> PHP 5.1.6 (cli) (built: Apr 4 2007 11:38:24)
>> Copyright (c) 1997-2006 The PHP Group
>> Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
>> with Zend Extension Manager v1.2.0, Copyright (c) 2003-2006, by
>> Zend Technologies
>> with Zend Optimizer v3.2.6, Copyright (c) 1998-2007, by Zend
>> Technologies
>>
>> yum info:
>> *******
>> PCRE
>> ---------------------------------------------------------------
>> pcre.x86_64 6.6-1.1
>> installed
>>
>> PHP
>> ---------------------------------------------------------------
>> php.x86_64 5.1.6-11.el5
>> installed
>> php-bcmath.x86_64 5.1.6-11.el5
>> installed
>> php-cli.x86_64 5.1.6-11.el5
>> installed
>> php-common.x86_64 5.1.6-11.el5
>> installed
>> php-dba.x86_64 5.1.6-11.el5
>> installed
>> php-devel.x86_64 5.1.6-11.el5
>> installed
>> php-gd.x86_64 5.1.6-11.el5
>> installed
>> php-imap.x86_64 5.1.6-11.el5
>> installed
>> php-ldap.x86_64 5.1.6-11.el5
>> installed
>> php-mbstring.x86_64 5.1.6-11.el5
>> installed
>> php-mysql.x86_64 5.1.6-11.el5
>> installed
>> php-ncurses.x86_64 5.1.6-11.el5
>> installed
>> php-odbc.x86_64 5.1.6-11.el5
>> installed
>> php-pdo.x86_64 5.1.6-11.el5
>> installed
>> php-pear.noarch 1:1.4.9-4
>> installed
>> php-pgsql.x86_64 5.1.6-11.el5
>> installed
>> php-snmp.x86_64 5.1.6-11.el5
>> installed
>> php-soap.x86_64 5.1.6-11.el5
>> installed
>> php-xml.x86_64 5.1.6-11.el5
>> installed
>> php-xmlrpc.x86_64 5.1.6-11.el5
>> installed
>>
>>
>>
>> WindowsXP System details:
>> **************************************************
>> PHP 5.2.1 (cli) (built: Feb 7 2007 23:11:26)
>> Copyright (c) 1997-2007 The PHP Group
>> Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
>> with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by
>> Zend Technologies
>> with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend
>> Technologies
>>
>> PCRE:
>> *************************************************
>> PCRE Library Version => 6.7 04-Jul-2006
>>
>>
>> Josh
>>
>> "Darby Felton" <[EMAIL PROTECTED]> wrote in message
>> news:[EMAIL PROTECTED]
>>
>>> Hi Graham,
>>>
>>> I just added the potentially offending data to the unit tests for
>>> Zend_Validate_Alnum, but I have been unable to reproduce the problem on
>>> either of the two following platforms:
>>>
>>> * PHP 5.1.4, WinXP, PCRE 6.6
>>>
>>> * PHP 5.2.1, Ubuntu, PCRE 6.7
>>>
>>> Are you on FreeBSD by chance?
>>>
>>> Anyone else experiencing such a problem?
>>>
>>> On another note, I would highly recommend upgrading your PHP beyond
>>> 5.2.0, which introduced some problems that have since been addressed in
>>> later releases.
>>>
>>> Best regards,
>>> Darby
>>>
>>> Graham Anderson wrote:
>>>
>>>> I updated against trunk and now...
>>>>
>>>> require_once('Zend/Validate/Alnum.php');
>>>>
>>>> $validator = new Zend_Validate_Alnum();
>>>>
>>>> $vars = array ( 'Alnum' => 'foobar1',
>>>> 'NotAlnum' => '[EMAIL PROTECTED]' );
>>>>
>>>> foreach ( $vars as $var ) {
>>>> echo $validator->isValid($var) ? $var .':true ' : $var . ':false ';
>>>> }
>>>>
>>>> --
>>>> result: foobar1:false [EMAIL PROTECTED]:false
>>>> --
>>>>
>>>> php5 -v
>>>> PHP 5.2.0 with Suhosin-Patch 0.9.6.1 (cli) (built: May 8 2007
>>>> 20:00:45)
>>>> Copyright (c) 1997-2006 The PHP Group
>>>> Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
>>>> with Suhosin v0.9.10, (C) Copyright 2006, by Hardened-PHP Project
>>>>
>>>>
>>
>>
>>
>>
>>
>
>
> ------------------------------------------------------------------------
>
> Gecontroleerd op virussen door de JOJO Secure Gateway.
>
HP Version: 5.1.6-0.dotdeb.2
PHP OS: Linux
Error Reporting: 2047 (E_ALL)
Register Globals: Off
Short Tags: On
Display Errors: On
Magic Quotes GPC: On
Magic Quotes Runtime: Off
Magic Quotes Sybase: Off
Loaded Extensions:
libxml xsl xmlwriter xmlrpc
dom xmlreader xml wddx
tokenizer sysvshm sysvsem sysvmsg
standard SimpleXML SPL session
sockets soap PDO shmop
SQLite Reflection posix mime_magic
mbstring iconv hash gettext
ftp filepro exif dbase
dba date ctype calendar
bz2 bcmath zlib pcre
openssl apache2handler imagick gd
mysqli pdo_mysql mysql Zend Optimizer
Is Alnum: asdf1234 -> true
Is Alnum: asdf -> true
PCRE is not compiled with UTF-8 and Unicode support
============================================================================================================================================
error_reporting(E_ALL);
$neg = array('off', 0, false, '', null);
$flags = array(
'Register Globals' => 'register_globals',
'Short Tags' => 'short_open_tag',
'Display Errors' => 'display_errors',
'Magic Quotes GPC' => 'magic_quotes_gpc',
'Magic Quotes Runtime' => 'magic_quotes_runtime',
'Magic Quotes Sybase' => 'magic_quotes_sybase',
);
$ve = phpversion();
$os = PHP_OS;
$er = intval(error_reporting());
foreach ($flags as $n => $v)
{
$flags[$n] = (in_array(strtolower(ini_get($v)), $neg) ? 'Off' : 'On');
}
$cli = (php_sapi_name() == 'cli');
$eol = "\n";
$gle = get_loaded_extensions();
$rows = array();
$le = '';
$wide = 4;
$j = count($gle);
$pad = $wide - $j % $wide;
$len = max(array_map('strlen', $gle));
$func = create_function('$a', 'return str_pad($a, ' . intval($len) . ');');
$gle = array_map($func, $gle);
for($i = 0; $i < $j; $i += $wide)
{
$le .= ' ' . implode(' ', array_slice($gle, $i, $wide)) . $eol;
}
$ec = array(
'E_STRICT' => 2048, 'E_ALL' => 2047, 'E_USER_NOTICE' => 1024,
'E_USER_WARNING' => 512, 'E_USER_ERROR' => 256, 'E_COMPILE_WARNING' =>
128,
'E_COMPILE_ERROR' => 64, 'E_CORE_WARNING' => 32, 'E_CORE_ERROR' => 16,
'E_NOTICE' => 8, 'E_PARSE' => 4, 'E_WARNING' => 2, 'E_ERROR' => 1,
);
$e = array();
$t = $er;
foreach ($ec as $n => $v)
{
if (($t & $v) == $v)
{
$e[] = $n;
$t ^= $v;
}
}
if (ceil(count($ec) / 2) + 1 < count($e))
{
$e2 = array();
foreach ($ec as $n => $v)
{
if (!in_array($n, $e) and $n != 'E_ALL')
{
$e2[] = $n;
}
}
$er = $er . ' ((E_ALL | E_STRICT) ^ ' . implode(' ^ ', $e2) . '))';
}
else
{
$er = $er . ' (' . implode(' | ', $e) . ')';
}
if (!$cli)
{
echo '
', $eol;
}
echo 'PHP Version: ', $ve, $eol;
echo 'PHP OS: ', $os, $eol;
echo 'Error Reporting: ', $er, $eol;
foreach ($flags as $n => $v)
{
echo $n, ': ', $v, $eol;
}
echo 'Loaded Extensions:', $eol, $le, $eol;
set_include_path('.' . PATH_SEPARATOR . "../library/zf");
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Validate_Alnum');
$f = new Zend_Validate_Alnum();
echo "Is Alnum: asdf1234 -> " . var_export($f->isValid('asdf1234'),1);
echo $eol;
echo "Is Alnum: asdf -> " . var_export($f->isValid('asdf'),1);
echo $eol;
if (!preg_match('/\pL/u', 'a')) echo ('PCRE is not compiled with UTF-8 and
Unicode support');
echo $eol;
PHP Version: 5.2.1
PHP OS: Linux Slackware
Error Reporting: 6143 (E_ALL)
Register Globals: Off
Short Tags: Off
Display Errors: On
Magic Quotes GPC: Off
Magic Quotes Runtime: Off
Magic Quotes Sybase: Off
Loaded Extensions:
libxml xsl xmlwriter dom
xmlreader xml wddx tokenizer
sysvshm sysvsem session pcre
SimpleXML sockets soap SPL
shmop standard Reflection posix
mhash mbstring ldap json
imap iconv hash gmp
gd ftp filter exif
dbase dba date curl
ctype calendar bz2 bcmath
zlib openssl apache mysql
gettext mysqli PDO pdo_mysql
pdo_sqlite SQLite xmlrpc xdebug
Is Alnum: asdf1234 -> false
Is Alnum: asdf -> false
( ! ) Warning: preg_match() [function.preg-match]: Compilation failed: support
for \P, \p, and \X has not been compiled at offset 1 in
/storage/www/vision22/php/surveyor.vision22.net/web/test.php on line 101
Call Stack
# Time Memory Function Location
1 0.0010 79800 {main}( ) ../test.php:0
2 0.0064 204712 preg_match ( ) ../test.php:101
PCRE is not compiled with UTF-8 and Unicode support
============================================================================================================================================
error_reporting(E_ALL);
$neg = array('off', 0, false, '', null);
$flags = array(
'Register Globals' => 'register_globals',
'Short Tags' => 'short_open_tag',
'Display Errors' => 'display_errors',
'Magic Quotes GPC' => 'magic_quotes_gpc',
'Magic Quotes Runtime' => 'magic_quotes_runtime',
'Magic Quotes Sybase' => 'magic_quotes_sybase',
);
$ve = phpversion();
$os = PHP_OS;
$er = intval(error_reporting());
foreach ($flags as $n => $v)
{
$flags[$n] = (in_array(strtolower(ini_get($v)), $neg) ? 'Off' : 'On');
}
$cli = (php_sapi_name() == 'cli');
$eol = "\n";
$gle = get_loaded_extensions();
$rows = array();
$le = '';
$wide = 4;
$j = count($gle);
$pad = $wide - $j % $wide;
$len = max(array_map('strlen', $gle));
$func = create_function('$a', 'return str_pad($a, ' . intval($len) . ');');
$gle = array_map($func, $gle);
for($i = 0; $i < $j; $i += $wide)
{
$le .= ' ' . implode(' ', array_slice($gle, $i, $wide)) . $eol;
}
$ec = array(
'E_STRICT' => 2048, 'E_ALL' => 2047, 'E_USER_NOTICE' => 1024,
'E_USER_WARNING' => 512, 'E_USER_ERROR' => 256, 'E_COMPILE_WARNING' =>
128,
'E_COMPILE_ERROR' => 64, 'E_CORE_WARNING' => 32, 'E_CORE_ERROR' => 16,
'E_NOTICE' => 8, 'E_PARSE' => 4, 'E_WARNING' => 2, 'E_ERROR' => 1,
);
$e = array();
$t = $er;
foreach ($ec as $n => $v)
{
if (($t & $v) == $v)
{
$e[] = $n;
$t ^= $v;
}
}
if (ceil(count($ec) / 2) + 1 < count($e))
{
$e2 = array();
foreach ($ec as $n => $v)
{
if (!in_array($n, $e) and $n != 'E_ALL')
{
$e2[] = $n;
}
}
$er = $er . ' ((E_ALL | E_STRICT) ^ ' . implode(' ^ ', $e2) . '))';
}
else
{
$er = $er . ' (' . implode(' | ', $e) . ')';
}
if (!$cli)
{
echo '
', $eol;
}
echo 'PHP Version: ', $ve, $eol;
echo 'PHP OS: ', $os, $eol;
echo 'Error Reporting: ', $er, $eol;
foreach ($flags as $n => $v)
{
echo $n, ': ', $v, $eol;
}
echo 'Loaded Extensions:', $eol, $le, $eol;
set_include_path('.' . PATH_SEPARATOR . "../library/zf");
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Validate_Alnum');
$f = new Zend_Validate_Alnum();
echo "Is Alnum: asdf1234 -> " . var_export($f->isValid('asdf1234'),1);
echo $eol;
echo "Is Alnum: asdf -> " . var_export($f->isValid('asdf'),1);
echo $eol;
if (!preg_match('/\pL/u', 'a')) echo ('PCRE is not compiled with UTF-8 and
Unicode support');
echo $eol;