@RafalGoslawski RafalGoslawski released this Aug 31, 2018

Assets 2
  • Fix where info->type was not correctly assigned, resulting in garbage being dereferenced (php7.2). fix compilation error for php7.3 regarding the way constants are implemented in zend.
  • info->type is >php7.2 only
  • Always dereference our value, if it is not a reference we get the original back again
  • Constants were not right after all, and the iterator structure is slightly different for 7.3.
  • iterator_funcs is now of pointer type
  • Fix build on OSX (#391)
  • Added PHP7.3 support

@RafalGoslawski RafalGoslawski released this Aug 29, 2018 · 15 commits to master since this release

Assets 2
  • Add automatic builds for g++-4.8 up to g++-8 and clang++-4.0 to clang++-6.0. Also resolves #357 by moving the -shared flag further down on the command line parameters, after the point PHP had the chance to taint them by including the -pie flag.
  • If our zend value is a reference, pass through the reference to retrieve the object class entry

@RafalGoslawski RafalGoslawski released this Jun 19, 2018 · 18 commits to master since this release

Assets 2
  • Support for PHP 7.2
  • ini entries were not always correctly registered when a extension was reloaded
  • Added cmake file to be able to compile PHP-CPP under Windows (#343)
  • Removed hard dependency on sudo (#332)
  • Refactored exception code slightly
  • Made the makeReference function non-static, renamed some variables for clarity, reworked parenthesis for consistency and added some missing override statements
  • Fix #301 - Invalid read when Php::defined() is true
  • Fix wrong assumption
  • Make inlines static and unexport them (fix #178)
  • Bug fix for #234 - Setting a PHP::GLOBALS value makes a segfault
  • Fix 7.1 build
  • debugZval() should be public
  • Rework assignments
  • Fix #293 - Php::Value::numericValue() does not play well with references
  • Fix #269 - Process termination when attempting to access object
  • Remove #pragma GCC system_header from zend/includes.h
  • Fix -Wsign-compare compiler warning
  • Increase refcount of zval, not zend_object
  • Use EG(scope) to access properties
  • Fix #261 - Byref
  • Use information from PHP exception
  • Fix compiler warnings
  • Fix #281 -Memory Leak in CallPhpFunctions
  • Do not increment reference count more than necessary
  • Use zend_object_std_dtor()
  • Fix TSRM usage for PHP 7
  • Make the code compile under ZTS
  • Fix zval being free()ed too early when retrieving a propery
  • arrayaccess.h: Add missing virtual destructor for interface

@RafalGoslawski RafalGoslawski released this Oct 14, 2016 · 83 commits to master since this release

Assets 2

Added compatibility with PHP7

@RafalGoslawski RafalGoslawski released this Feb 25, 2016 · 142 commits to master since this release

Assets 2
  • Fix compiler errors when compiling for a multi-threading environment.
  • Don't create a std::string with a nullptr

@RafalGoslawski RafalGoslawski released this Oct 28, 2015 · 145 commits to master since this release

Assets 2

This is a bugfix release

  • Properly handle a Php::Exception when thrown from a serialize method.
  • Handle exceptions thrown from unserialize similar to normal php.
  • Fix issue with derived classes. closes #211
  • Fix logic error that caused segfaults for extension-created classes extended from userland using a doc-block

@schoentoon schoentoon released this Oct 7, 2015 · 150 commits to master since this release

Assets 2

This release only adds some error related functions

  • The php error_reporting function is exposed without any slow Php::call() calls
  • The php set_error_handler function is exposed without any slow Php::call() calls
  • Exposed all of the E_* properties as an enum

@EmielBruijntjes EmielBruijntjes released this Jul 29, 2015 · 171 commits to master since this release

Assets 2

PHP-CPP version 1.5 is mainly a bugfix release, and it has a small number of new features:

  • PHP interfaces defined in C++ can now also have static methods
  • Fixed segmentation fault crash when casting objects
  • Fixed crash when calling chained C++ methods from a PHP script
  • Allowed "Php::Value x = y["whatever"]" syntax in C++ code
  • Fixed memory leak when calling function stored in a Php::Value object
  • Fixed memory leak when a Php::Iterator object was being used

@schoentoon schoentoon released this May 19, 2015 · 223 commits to master since this release

Assets 2

New release with several bugfixes and some new features

  • Added a function to load other extensions by path
  • Fixed some symbols that were not being exported
  • Value::rawValue() will now return nullptr in case the Value is not a string
  • Value::get(int) and Value::contains(int) now also work on Objects implementing ArrayAccess
  • Makefile will now add the version using sonames

@RafalGoslawski RafalGoslawski released this Apr 3, 2015 · 244 commits to master since this release

Assets 2

This release is mainly a bugfix release

  • Implemented a simple sapi_name() method which will return the current sapi.
  • On Windows with mingw EOF was not defined.
  • Added access checks to Php::Value::contains.
  • Fixed the Value::contains method and added the isCallable(name) function to see if the object has an accessible member function
  • Changed default visibility for symbols in the PHP-CPP library to hidden and explicitly exported all symbols available from the public API.
  • Fix compile issue with PHP 5.3
  • Added article about dynamic loading
  • Added DlUnrestricted example extension
  • Fixed a crash when dynamicly loaded extensions were unloaded