php: Fix opcache by using MAP_ANON support

The ext/opcache/config.m4 disabled MAP_ANON when cross compiling.

Fixes #2234.
This commit is contained in:
Fredrik Fornwall 2018-03-11 00:50:15 +01:00
parent accf4c2e48
commit d4a8d19d4c
3 changed files with 28 additions and 5 deletions

View File

@ -1,7 +1,7 @@
TERMUX_PKG_HOMEPAGE=https://php.net
TERMUX_PKG_DESCRIPTION="Server-side, HTML-embedded scripting language"
TERMUX_PKG_VERSION=7.2.3
TERMUX_PKG_REVISION=1
TERMUX_PKG_REVISION=2
TERMUX_PKG_SHA256=b3a94f1b562f413c0b96f54bc309706d83b29ac65d9b172bc7ed9fb40a5e651f
TERMUX_PKG_SRCURL=http://www.php.net/distributions/php-${TERMUX_PKG_VERSION}.tar.xz
# Build native php for phar to build (see pear-Makefile.frag.patch):

View File

@ -1,7 +1,18 @@
diff -u -r ../php-7.2.3/ext/opcache/config.m4 ./ext/opcache/config.m4
--- ../php-7.2.3/ext/opcache/config.m4 2018-02-27 16:33:06.000000000 +0000
+++ ./ext/opcache/config.m4 2018-03-10 22:37:13.039992109 +0000
@@ -358,7 +358,15 @@
+++ ./ext/opcache/config.m4 2018-03-10 23:38:51.259947633 +0000
@@ -147,7 +147,9 @@
}
],dnl
AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
- msg=yes,msg=no,msg=no)
+ msg=yes,msg=no,
+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+ msg=yes)
AC_MSG_RESULT([$msg])
AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
@@ -358,7 +360,15 @@
flock_type=linux
AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
AC_MSG_RESULT("yes")
@ -18,7 +29,7 @@ diff -u -r ../php-7.2.3/ext/opcache/config.m4 ./ext/opcache/config.m4
AC_MSG_CHECKING("whether flock struct is BSD ordered")
AC_TRY_RUN([
@@ -374,7 +382,13 @@
@@ -374,7 +384,13 @@
flock_type=bsd
AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
AC_MSG_RESULT("yes")
@ -33,7 +44,7 @@ diff -u -r ../php-7.2.3/ext/opcache/config.m4 ./ext/opcache/config.m4
if test "$flock_type" = "unknown"; then
AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
@@ -417,6 +431,9 @@
@@ -417,6 +433,9 @@
Optimizer/zend_dump.c,
shared,,-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,,yes)

View File

@ -0,0 +1,12 @@
diff -u -r ../php-7.2.3/ext/opcache/zend_accelerator_module.c ./ext/opcache/zend_accelerator_module.c
--- ../php-7.2.3/ext/opcache/zend_accelerator_module.c 2018-02-27 16:33:06.000000000 +0000
+++ ./ext/opcache/zend_accelerator_module.c 2018-03-10 23:43:52.824368199 +0000
@@ -308,7 +308,7 @@
STD_PHP_INI_ENTRY("opcache.restrict_api" , "" , PHP_INI_SYSTEM, OnUpdateString, accel_directives.restrict_api, zend_accel_globals, accel_globals)
#ifndef ZEND_WIN32
- STD_PHP_INI_ENTRY("opcache.lockfile_path" , "/tmp" , PHP_INI_SYSTEM, OnUpdateString, accel_directives.lockfile_path, zend_accel_globals, accel_globals)
+ STD_PHP_INI_ENTRY("opcache.lockfile_path" , "@TERMUX_PREFIX@/tmp" , PHP_INI_SYSTEM, OnUpdateString, accel_directives.lockfile_path, zend_accel_globals, accel_globals)
#else
STD_PHP_INI_ENTRY("opcache.mmap_base", NULL, PHP_INI_SYSTEM, OnUpdateString, accel_directives.mmap_base, zend_accel_globals, accel_globals)
#endif