websupport-sk / pecl-memcache

PHP Extension - Memcache module with support of newer PHP 7.x and PHP 8.x
https://pecl.php.net/package/memcache
Other
328 stars 101 forks source link

win32/php_stdint.h is removed as of PHP 8.0.0 #84

Closed cmb69 closed 2 weeks ago

cmb69 commented 3 years ago

Cf. https://github.com/php/php-src/pull/5323.

nono303 commented 3 years ago

hi @cmb69 Have a look on https://github.com/websupport-sk/pecl-memcache/issues/80#issuecomment-739737406 as NON_BLOCKING_IO_php8 might be used for PHP >=7.2

cmb69 commented 3 years ago

NON_BLOCKING_IO_php8 might be used for PHP >=7.2

Ah, I wasn't aware of that. However, that shouldn't be an issue, since stdint.h is available in the platform toolset for quite some time. I just did a build with PHP 7.2.34 without any issues; I can't run the testsuite, though, since I don't have memcached installed.

If you like, I can provide a PR with AppVeyor CI integration (building and packaging on 7.2 - 8.0), so at least this could be checked. And maybe someone with a memcached setup could verify these builds then.

Jan-E commented 2 years ago

A patch like this would make sure that for PHP 7.0/7.1 (VC14) and PHP 7.2-7.4 (VC15) the existing win32/php_stdint.h is used and for PHP 8.0+ stdint.h:

-#include <win32/php_stdint.h>
+#if defined(_MSC_VER) && _MSC_VER < 1920
+# include "win32/php_stdint.h"
+#else
+# include <stdint.h>
+#endif

But whatever solution is chosen: the current repo still does not build on Windows for PHP 8+.

Jan-E commented 1 year ago

The release for PHP 8.2 will not build on Windows because you did not solve the win32/php_stdint.h issue.

cmb69 commented 2 weeks ago

The issue has been resolved via 7e7fb5253eff551d7c4b1d92307edfb771bb1d5d, so I'm closing this PR.