PHP 5.1 RC2. Пожалуйста, тестируйте.

tony2001

TeaM PHPClub
PHP 5.1 RC2. Пожалуйста, тестируйте.

Вышел второй релиз кандидат 5.1.
Большая просьба всем поставить его и протестировать на реальных приложениях или хотя бы поиграться с ним.

Особое внимание обратите на работу с датами (она полностью переписана) - всё должно работать также, как и раньше.
Но и всё остальное тоже не оставляйте без внимания (см. список изменений чуть ниже).

Думаю, что все и каждый заинтересованы в том, чтобы их приложения работали - лучше проверить это сейчас, чем узнать, когда уже будет поздно.

Тестируйте, пожалуйста, до релиза, а не после - в этом и есть смысл выхода релиз-кандидатов.

Тестировать лучше всего снапшоты с http://snaps.php.net

Код:
- Changed SQLite extension to be a shared module in Windows distribution.
  (Edin)
- Changed "instanceof" and "catch" operators, is_a() and is_subclass_of()
  functions to not call __autoload(). (Dmitry)
- Improved SPL extension. (Marcus)
  . Moved RecursiveArrayIterator from examples into extension
  . Moved RecursiveFilterIterator from examples into extension
  . Added SplObjectStorage
  . Made all SPL constants class constants
  . Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow
    Recursive<*>Iterator naming scheme.
- Upgraded bundled libraries:
  . PCRE library to version 6.2. (Andrei)
  . SQLite 3 library in ext/pdo_sqlite to 3.2.7. (Ilia)
  . SQLite 2 library in ext/sqlite to 2.8.16. (Ilia)
- Upgraded bundled libraries in Windows distribution. (Edin)
  . zlib 1.2.3
  . curl 7.14.0
  . openssl 0.9.8
  . ming 0.3b
  . libpq (PostgreSQL) 8.0.1
- Moved extensions to PECL:
  . ext/mcve (Jani, Derick, Pierre)
  . ext/oracle (Jani, Derick)
  . ext/ovrimos (Jani, Derick, Pierre)
  . ext/pfpro (Jani, Derick, Pierre)
- Added support for class constants and static members for internal classes.
  (Dmitry, Michael Wallner)
- Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank)
- Added missing safe_mode checks for image* functions and cURL. (Ilia)
- Added missing safe_mode/open_basedir checks for file uploads. (Ilia)
- Fixed an error in mysqli_fetch_fields (returned NULL instead of an
  array when row number > field_count). (Georg)
- Fixed possible INI setting leak via virtual() in Apache 2 sapi. (Ilia)
- Fixed potential GLOBALS overwrite via import_request_variables() and
  possible crash and/or memory corruption. (Ilia)
- Fixed possible GLOBALS variable override when register_globals are ON.
  (Ilia, Stefan)
- Fixed possible register_globals toggle via parse_str(). (Ilia, Stefan)
- Fixed a bug where stream_get_meta_data() did not return the "uri" element for
  files opened with tmpname(). (Derick)
- Fixed "make test" to work for phpized extensions. (Hartmut, Jani)
- Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems.
  (Andrey)
- Fixed bug #34856 (configure fails to detect libiconv's type). (Tony)
- Fixed bug #34855 (ibase_service_attach() segfault on AMD64).
  (irie at gmx dot de, Tony)
- Fixed bug #34850 (--program-suffix and --program-prefix not included in
  man page names). (Jani)
- Fixed bug #34818 (several functions crash when invalid mysqli_link object
  is passed). (Tony)
- Fixed bug #34810 (mysqli::init() and others use wrong $this pointer
  without checks). (Tony)
- Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object).
  (Ilia)
- Fixed bug #34802 (Fixed crash on object instantiation failure). (Ilia)
- Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared).
  (Jani)
- Fixed bug #34790 (preg_match_all(), named capturing groups, variable
  assignment/return => crash). (Dmitry)
- Fixed bug #34788 (SOAP Client not applying correct namespace to generated
  values). (Dmitry)
- Fixed bug #34787 (SOAP Client not handling boolean types correctly). (Dmitry)
- Fixed bug #34786 (2 @ results in change to error_reporting() to random value)
  (Dmitry, Tony)
- Fixed bug #34785 (subclassing of mysqli_stmt does not work). (Georg)
- Fixed bug #34777 (Crash in dblib when fetching non-existent error info). (Ilia)
- Fixed bug #34771 (strtotime() fails with 1-12am/pm). (Derick)
- Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). (Ilia)
- Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string
  length). (Tony)
- Fixed bug #34742 (ftp wrapper failures caused from segmented command
  transfer). (Ilia)
- Fixed bug #34723 (array_count_values() strips leading zeroes). (Tony)
- Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus)
- Fixed bug #34678 (__call(), is_callable() and static methods). (Dmitry)
- Fixed bug #34676: missing support for strtotime("midnight") and
  strtotime("noon"). (Derick)
- Fixed bug #34645 (ctype corrupts memory when validating large numbers). (Ilia)
- Fixed bug #34643 (wsdl default value has no effect). (Dmitry)
- Fixed bug #34617 (zend_deactivate: objects_store used after
  zend_objects_store_destroy is called). (Dmitry)
- Fixed bug #34590 (User defined PDOStatement class can't implement methods).
  (Marcus)
- Fixed bug #34584 (Segfault with SPL autoload handler). (Marcus)
- Fixed bug #34581 (crash with mod_rewrite). (Tony, Ilia)
- Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters).
  (Marco, Ilia)
- Fixed bug #34557 (php -m exits with "error" 1). (Johannes)
- Fixed bug #34518 (Unset doesn't separate container in CV). (Dmitry)
- Fixed bug #34505 (Possible memory corruption when unmangling properties
  with empty names). (Tony)
- Fixed bug #34478 (Incorrect parsing of url's fragment (#...)). (Dmitry)
- Fixed bug #34467 (foreach + __get + __set incosistency). (Dmitry)
- Fixed bug #34456 (Possible crash inside pspell extension). (Nuno)
- Fixed bug #34453 (parsing [url]http://www.w3.org/2001/xml.xsd[/url] exception). (Dmitry)
- Fixed bug #34450 (Segfault when calling mysqli_close() in destructor). (Tony)
- Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed). (Dmitry)
- Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). (Ilia)
- Fixed bug #34358 (Fatal error: Cannot re-assign $this). (Dmitry)
- Fixed bug #34331 (php crashes when variables_order is empty). (Ilia)
- Fixed bug #34321 (Possible crash in filter code). (Ilia)
- Fixed bug #34311 (unserialize() crashes with chars above 191 dec). (Nuno)
- Fixed bug #34310 (foreach($arr as $c->d => $x) crashes). (Dmitry)
- Fixed bug #34307 (on_modify handler not called to set the default value if
  setting from php.ini was invalid). (Andrei)
- Fixed bug #34306 (wddx_serialize_value() crashes with long array keys). (Jani)
- Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). (Derick)
- Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
  (Derick)
- Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract
  classes). (Marcus)
- Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]). (Jani)
- Fixed bug #34277 (array_filter() crashes with references and objects).
  (Dmitry)
- Fixed bug #34276 (setAttributeNS doesn't work with default namespace). (Rob)
- Fixed bug #34260 (Segfault with callbacks (array_map) + overloading).
  (Dmitry)
- Fixed bug #34257 (lib64 not handled correctly in ming extension). (Marcus)
- Fixed bug #34221 (Compiling xmlrpc as shared fails other parts). (Jani)
- Fixed bug #34216 (Segfault with autoload). (Marcus)
- Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler).
  (Dmitry, Alex)
- Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). (Ilia)
- Fixed bug #33167 (Possible crash inside pg_fetch_array()). (Ilia)
- Fixed bug #34156 (memory usage remains elevated after memory limit is
  reached). (Ilia)
- Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia)
- Fixed bug #34137 (assigning array element by reference causes binary mess).
  (Dmitry)
- Fixed bug #34103 (line numbering not maintained in dom document). (Rob)
- Fixed bug #34078 (Reflection API problems in methods with boolean or
  null default values). (Tony)
- Fixed bug #34068 (Numeric string as array key not cast to integer in
  wddx_deserialize()). (Ilia)
- Fixed bug #34064 (arr[] as param to function in class gives invalid opcode).
  (Dmitry)
- Fixed bug #34062 (Crash in catch block when many arguments are used).
  (Dmitry)
- Fixed bug #34052 (date('U') returns %ld not unix timestamp). (Nuno)
- Fixed bug #34045 (Buffer overflow with serialized object). (Dmitry)
- Fixed bug #34001 (pdo_mysql truncates numberic fields at 4 chars). (Ilia)
- Fixed bug #33999 (object remains object when cast to int). (Dmitry)
- Fixed bug #33996 (No information given for fatal error on passing invalid
  value to typed argument). (Dmitry)
- Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry)
- Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2).
  (Ilia)
- Fixed bug #33967 (misuse of Exception constructor doesn't display errorfile).
  (Jani)
- Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault). (Tony)
- Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash).
  (Ilia)
- Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number).
  (Derick)
- Fixed bug #33940 (array_map() fails to pass by reference when called
  recursively). (Dmitry)
- Fixed bug #33917 (number_format() output with > 1 char separators). (Jani)
- Fixed bug #33904 (input array keys being escaped when magic quotes is off).
  (Ilia)
- Fixed bug #33903 (spl_autoload_register class method). (Marcus)
- Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so
  does not work). (Jani)
- Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut)
- Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia)
- Fixed bug #33841 (pdo sqlite driver forgets to update affected column count
  on execution of prepared statments). (Ilia)
- Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani)
- Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry)
- Fixed bug #33771 (error_reporting falls to 0 when @ was used inside
  try/catch block). (Tony)
- Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry)
- Fixed bug #33710 (ArrayAccess objects doen't initialize $this). (Dmitry)
- Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus)
- Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick)
- Fixed bug #33558 (warning with nested calls to functions returning by
  reference). (Dmitry)
- Fixed bug #33414 (Comprehensive list of incorrect days returned after
  strtotime() / date() tests). (Derick)
- Fixed bug #33383 (crash when retrieving empty LOBs). (Tony)
- Fixed bug #33326 (Cannot build extensions with phpize on Macosx). (Jani)
- Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect).
  (Pierre)
- Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54
  seg fault). (Dmitry)
- Fixed bug #32937 (open_basedir looses trailing / in the limiter). (Adam Conrad)
- Fixed bug #32589 (possible crash inside imap_mail_compose() function). (Ilia)
- Fixed bug #32455 (wrong setting property to unset value). (Dmitry)
- Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references). (Tony)
- Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia)
- Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk)
- Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani)
- Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry)
- Fixed bug #27908 (xml default_handlers not being called). (Rob)
- Fixed bug #25359 (array_multisort() doesn't work in a function if array is
  global or reference). (Dmitry)
- Fixed bug #21306 (ext/sesssion: catch bailouts of write handler during
  RSHUTDOWN). (Jani, Xuefer at 21cn dot com)
 

itprog

Cruftsman
Единственое пока не понятно, в php.ini стоит date.timezone=Europe/Moscow
Ставим неправильную зону,
date_default_timezone_set(123);
echo date_default_timezone_get();

Получаем ошибку и UTC, не логичнее ли бы оставить то что прописано в php.ini, т.е. Europe/Moscow ?
 

crocodile2u

http://vbolshov.org.ru
PHP:
class test {
	public $_tpl_vars = array();
	function __construct()
	{
		$_from = array(
			'key' => 'value'
		);
		$this->_tpl_vars['key'] = $this->_tpl_vars['value'] = 0;
		foreach ($_from as $this->_tpl_vars['key'] => $this->_tpl_vars['value']) {
			var_dump($this->_tpl_vars['key']);
			var_dump($this->_tpl_vars['value']);
		}
		foreach ($_from as $key => $value) {
			var_dump($key);
			var_dump($value);
		}
	}
}
new test();
Ожидал увидеть:
string(3) "key"
string(5) "value"
string(3) "key"
string(5) "value"

Увидел:
NULL
NULL
string(3) "key"
string(5) "value"

Такая конструкция используется Smarty при компилировании в php-код циклов foreach. В результате - само собой - ошибки...

PS: собрал из снапшота 2005/10/17 06:30:
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysql-sock=/tmp/mysql.sock \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-jpeg-dir=/usr/libjpeg \
--with-png-dir=/usr \
--with-gd \
--with-iconv \
--enable-mbstring \
--with-libxml-dir=/usr/local \
--with-xsl \
--with-gettext \
--with-pgsql \
--without-pear \
--enable-debug \
--with-config-file-path=/usr/local/lib/php.ini \
--with-zlib-dir \
--with-freetype-dir=/usr/libfreetype \
--with-pdo-mysql=/usr/local/mysql \
--with-pdo-pgsql=/usr/local/pgsql \
--with-zend-vm=GOTO
 

ONK

Пассивист PHPСluba
Поставил, протестировал на своём коде, в среднем 15% прирост производительности.
Багов пока не заметил.
 

crocodile2u

http://vbolshov.org.ru
Специальных тестов не делал, но у меня во всех скриптах, которые я в настоящее время пишу/изменяю, замеряется время выполнения. И оно уменьшилось прим. в 1.5 - 2 раза. Раньше стоял php-5.1.0b3, --with-zend-vm=SWITCH.
 

si

Administrator
собрал RC3, результат такойже как на последних RC2
[Tue Oct 18 10:14:35 2005] [notice] child pid 27461 exit signal Segmentation fault (11)
[Tue Oct 18 10:14:35 2005] [notice] child pid 27462 exit signal Segmentation fault (11)
*** glibc detected *** double free or corruption: 0x084a9a38 ***
*** glibc detected *** double free or corruption: 0x0849b5a8 ***
*** glibc detected *** double free or corruption: 0x0849b5a8 ***
*** glibc detected *** double free or corruption: 0x0849b648 ***
*** glibc detected *** double free or corruption: 0x0820c608 ***
*** glibc detected *** double free or corruption: 0x08450960 ***
[Tue Oct 18 10:14:36 2005] [notice] child pid 27463 exit signal Segmentation fault (11)
[Tue Oct 18 10:14:37 2005] [notice] child pid 27464 exit signal Segmentation fault (11)

-~{}~ 18.10.05 10:20:

все билды cvs примерно с неделю не работают у меня
 

faithless.man

Новичок
Возникла проблема:
установил php5.1-win32-200510171830.zip
поставил расширение xdebug для версии 5.1

Запускаю апач выдается такое сообщение:
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
Apache/1.3.33 (Win32) PHP/5.1.0RC3-dev running...
 

svetasmirnova

маленький монстрик
faithless.man
Проблеме поболее чем с полгода, к сожалению.
Лечится прописыванием xdebug как обычного extension. В результате такого "лечения" возможность использовать breakpoints утрачивается.

-~{}~ 18.10.05 12:15:

tony2001
Месяц назад всё было куда стабильнее.
 

BeGe

Вождь Апачей, блин (c)
svetasmirnova К сожалению xdebug это "third party software" и за его стабильную работу никто не несёт отвествености.
При репорте каких либо багов, просьба протестировать ваш test case с выключенными xdebug и другими модулями сторонних разработчиков.
Приблизительная цитата с bugs.php.net
 

svetasmirnova

маленький монстрик
BeGe
Я в курсе. И "Месяц назад всё было куда стабильнее" относилось совсем к другому.
 

itprog

Cruftsman
svetasmirnova
Месяц назад всё было куда проще...

У меня PHP 5.1 стабильно работает
 

svetasmirnova

маленький монстрик
itprog
Стабильнее, а не проще. ОС и билд какие? С какими билдами сравниваешь?
 

itprog

Cruftsman
PHP5.1 RC2, ось windows, на linux пробовал только часть .

А примеры нестабильности PHP5.1 можно?
 

svetasmirnova

маленький монстрик
SP1 или SP2? Билд какой?
>примеры нестабильности:
http://bugs.php.net/?id=34883&edit=2
Это то, что мне мешает работать последние 2 недели.
--
Похоже придётся подробнее объяснить что конкретно я имела в виду. На тестовой машинке 5.1 использую с начала этого года. Впечатления были очень хорошие. От снапшота к снапшоту количество багов уменьшалось. К сожалению недели три назад ситуация изменилась.
--
Тем не менее я в production использую именно 5.1. itprog, а ты? ;)
 
Сверху