todo:php7:upgrading_64bit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
todo:php7:upgrading_64bit [2014/08/22 07:26] – created abtodo:php7:upgrading_64bit [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 11: Line 11:
   c. POST data handling   c. POST data handling
   d. Arginfo changes   d. Arginfo changes
 +  e. New data types
  
 2. Build system changes 2. Build system changes
Line 22: Line 23:
  
   a. zend_set_memory_limit() now takes the TSRMLS_CC macro as its last argument   a. zend_set_memory_limit() now takes the TSRMLS_CC macro as its last argument
 +  e. New data types
 +     
 +     String length
 +
 + String lengths do no more depend on the firm 'int' datatype. The replacement
 + is a platform dependent size_t datatype. The string length in zval is no more
 + int but php_size_t.
 +
 + String length is defined as zend_size_t inside Zend and aliased as php_size_t
 + anywhere else. The inclusion of php.h is necessary.
 +
 +     Integer types
 +
 + Integers do no more depend on the firm 'long' type. Instead a platform
 + dependent integer type is used. That datatype is defined dynamically to
 + guarantee the consistent 64 bit support. The zval field representing user
 + land integer it bound to php_int_t.
 +
 + Signed integer is defined as zend_int_t, unsigned integer as zend_uint_t
 + inside Zend. Both are aliased as php_int_t and php_uint_t anywhere else,
 + respectively. The inclusion of php.h is necessary.
 +
 +     Other datatypes
 +
 + zend_off_t  - portable off_t analogue
 + zend_stat_t - portable 'struct stat' analogue
 +
 + These datatypes are declared to be portable across platforms. Thus, direct
 + usage of the functions like fseek, stat, etc. as well as direct usage of
 + off_t and struct stat is strongly not recommended. Instead the portable
 + macros should be used.
 +
 + zend_fseek - portable fseek equivalent
 + zend_ftell - portable ftell equivalent
 + zend_lseek - portable lseek equivalent
 + zend_fstat - portable fstat equivalent
 + zend_stat  - portable stat equivalent
 +
  
  
Line 29: Line 68:
      
      
-============== UPGRADING.INTERNALS start ====================+============== UPGRADING.INTERNALS end ====================
todo/php7/upgrading_64bit.1408692413.txt.gz · Last modified: 2017/09/22 13:28 (external edit)