423 Commits

Author SHA1 Message Date
Tomas Srnka
ac8e8c521a Merge pull request #101 from pmurzakov/NON_BLOCKING_IO_php8
fix "*** buffer overflow detected ***: terminated Aborted" by adding posix poll() io implementation in addition to select()
2025-08-06 11:24:58 +02:00
Tomas Srnka
5a5deed8be Merge pull request #100 from vnsavage/limit-file-descriptors
Descriptors equal or higher than FD_SETSIZE can't be used with select()
2025-08-06 11:24:37 +02:00
Tomas Srnka
16ebe7b01d Merge pull request #116 from asgrim/add-support-for-pie
Added a composer.json to enable support for PIE
2025-08-06 11:22:06 +02:00
Tomas Srnka
cfa5cd91e5 Merge pull request #118 from remicollet/issue-php85-alpha3
use Zend/zend_smart_string.h
2025-08-06 11:21:44 +02:00
Remi Collet
a743dc843b use Zend/zend_smart_string.h 2025-07-30 12:44:51 +02:00
James Titcumb
b8c36a4425 Added a composer.json to enable support for PIE 2024-09-19 10:15:35 +01:00
Tomas Srnka
972b554c4a Update config.yml
Change timeout on Action workflow
2023-05-04 15:35:41 +02:00
Tomas Srnka
f15988d746 Merge pull request #110 from Jan-E/win32-stdint
[Windows] Fix PHP 8+ compatibility
2023-05-04 08:39:59 +02:00
Jan Ehrhardt
7e7fb5253e [Windows] Fix PHP 8+ compatibility 2023-05-02 02:58:07 +02:00
Tomas Srnka
218e61799e Updated package.xml with removed cloudfile 2023-04-30 13:29:06 +02:00
Tomas Srnka
05db30910e Updated README 8.2 2023-04-30 13:17:46 +02:00
Tomas Srnka
351f65532d Updated README for PHP 8.2 2023-04-30 13:14:16 +02:00
Tomas Srnka
d3bee2db54 Updated version to PHP 8.2 2023-04-30 13:13:02 +02:00
Tomas Srnka
8aeac3dfe4 Updated Dockerfile to PHP 8.2 & removed Google Cloud build's as we switche to Github actions 2023-04-30 13:03:26 +02:00
Tomas Srnka
42537026ab Merge pull request #105 from pmurzakov/github_workflow
Github Workflow to run tests for pull requests and new commits automatically
2023-04-30 13:00:33 +02:00
Tomas Srnka
7f9a2fd39a Merge pull request #109 from shyim/patch-1
fix: php_session.h include
2023-04-30 12:35:17 +02:00
Shyim
eaf118d6ba fix: php_session.h include 2023-03-14 21:45:12 +01:00
Pavel Murzakov
2341c663de added github workflow to run tests on ubuntu with PHP 8.0, 8.1 and 8.2 2022-10-26 13:58:04 +01:00
Remi Collet
26c0f51300 trivial/minimal fix for PHP 8.2 (#104) 2022-10-25 11:54:24 +02:00
thesource93
50c351a308 update version 2022-10-24 17:32:59 +02:00
Pavel Murzakov
02895fc883 added unix poll() io implementation in addition to select() 2022-09-08 16:53:40 +01:00
Iliya
855bd7cc53 Descriptors equal or higher than FD_SETSIZE can't be used with select() 2022-09-07 20:45:50 +03:00
vnsavage
96910ce9c4 In mmc_flush_handler the return param is a pointer to integer and ZVAL_FALSE should not be used as it results in memory corruption. The failure case is not supposed to modify the return param. (#97) 8.0.1 2022-07-29 13:24:09 +02:00
thesource93
ccf702b14b Update README 2021-06-15 13:16:42 +02:00
Remi Collet
f220ea50be Fix Deprecated: memcache_connect(): Passing null to parameter #2... (#88) 2021-06-14 15:35:14 +02:00
Alexandru Pătrănescu
c615b13d2f Test and fix memcache session redundancy php8 (#87)
* Use zend_bool for ini bool settings

I think that these might have uninitialized bytes
when a data type larger than zend_bool is used for the ini setting,
if the module globals are set from malloc?
(Not 100% sure if the entire structure isn't set to 0 before being used)

Related to #56

* add a redundancy test file

add a redundancy test file checking multiple memcached restarts
install pcntl in docker container so tests are running
add also a Vagrantfile for easier dev env setup

* fix the redundancy failover by having dataresult as null initially instead of empty string

Co-authored-by: Tyson Andre <tysonandre775@hotmail.com>
Co-authored-by: Tomas Srnka <tomassrnka@users.noreply.github.com>
2021-05-28 12:09:26 +02:00
Tomas Srnka
e014963c13 Merge pull request #82 from timgates42/bugfix_typo_immediately
docs: fix simple typo, immediatly -> immediately
2020-12-28 10:34:40 +01:00
Tim Gates
dc48dc3675 docs: fix simple typo, immediatly -> immediately
There is a small typo in src/memcache.c, src/memcache_pool.c.

Should read `immediately` rather than `immediatly`.
2020-12-21 23:17:20 +11:00
Tomas Srnka
0fa35c0e73 Merge pull request #81 from andypost/79-version-fix
Fix version string and remove revision
8.0-fixed
2020-12-06 20:52:24 +01:00
Andy Postnikov
fa6e417d7e Back version to development 2020-12-06 20:28:01 +02:00
Andy Postnikov
cbd7b224af Fix version 2020-12-06 20:28:01 +02:00
Andy Postnikov
283bb5b12d Remove "$Revision$" from info 2020-12-06 20:27:49 +02:00
Tomas Srnka
36d7181459 Update package.xml
Fixed typos in package.xml for pecl release
2020-12-06 16:07:04 +01:00
Tomas Srnka
1ae74d7e2a Update README 8.0 2020-12-06 15:58:37 +01:00
Tomas Srnka
44e8cc088c Update package.xml 2020-12-06 15:57:07 +01:00
Tomas Srnka
e9dc044042 Update package.xml 2020-12-06 15:50:45 +01:00
Tomas Srnka
3cfd79504c Update start.sh 2020-12-06 15:44:58 +01:00
Tomas Srnka
58c98ded7f Update start.sh 2020-12-06 15:42:47 +01:00
Tomas Srnka
28f35784a3 Update cloudbuild.yaml 2020-12-06 15:41:13 +01:00
Tomas Srnka
cde621cc9c Update Dockerfile 2020-12-06 15:39:33 +01:00
Tomas Srnka
a3f2663fe5 Merge pull request #77 from aidvu/update/explicit-disconnect-server-free
Explicitly disconnect from servers
2020-12-06 15:26:22 +01:00
Tomas Srnka
fb3393fd09 Merge pull request #78 from aidvu/update/retry-failed-servers
Memory corruption when server unreachable, and memcache_get() with multiple keys
2020-12-06 15:26:04 +01:00
Andrija Vucinic
6e16576d4b some leftovers from previous versions 2020-11-06 13:54:35 +01:00
Andrija Vucinic
0c542a8d85 Memory corruption when server unreachable, and multiple get segfaults
`mmc_pool_select` change:
The problem was that memcache.so will execute “get()s” when “set()s” are
requested and vice versa. This would happen because in certain cases of
Memcached failures, instead of retrying failed requests memcache.so will
just forget about them and move on to the next request, while leaving
the state of the old request uncleaned. Then when a new request comes,
memcache.so will retry the previously failed request which already has
many of it’s pointers free()d and thus the segfaults.

`mmc_pool_run` changes:
Executing memcache_get()s with multiple keys were not retried properly
and left for the next request, where they segfaulted.
2020-11-06 13:44:43 +01:00
Andrija Vucinic
5625312056 Explicitly disconnect from servers. 2020-11-05 18:51:06 +01:00
Zaffy
e090f05a05 More work on pecl-memcache (#76)
* Use zend_bool for ini bool settings

Related to #56

* Initial work for php 8

* php7 -> php8

* Add test for #53

* Fix support for binary protocol

* php8 -> src

* Backwards compatibility with php 7.3, 7.4

This will allow us to have one unified branch that will compile
under different versions of php.

* Add test for pecl bug #77900

* Fix some memory leaks

* Support for reflection

- added / updated arginfos
- fix functions returning NULL instead of advertised return type,
  For example, when memcached returned error on "delete", function
  returned null instead of false
- added tests for both php8 and 7

* Fix typo

* Update config.w32

Co-authored-by: Tyson Andre <tyson.andre@uwaterloo.ca>

Co-authored-by: Tyson Andre <tysonandre775@hotmail.com>
Co-authored-by: Tomas Srnka <tomassrnka@users.noreply.github.com>
Co-authored-by: Tyson Andre <tyson.andre@uwaterloo.ca>
2020-10-16 09:52:01 +02:00
Zaffy
7889bd1d23 Porting to php8 (#74)
* Initial work for php 8

* php7 -> php8
2020-09-24 19:27:46 +02:00
Tomas Srnka
baec8a29aa Fixed GCB builds, replaced kaniko with docker, added PHP 7.4 support 2019-12-22 21:54:44 +01:00
Tomas Srnka
13bbcf788a Fixing google cloud builds 2019-12-22 21:23:12 +01:00
Tomas Srnka
ed8e04e8cc Fixed #60 2019-12-20 16:11:01 +01:00