summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/php/php.inc
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2018-04-03 17:50:15 +0800
committerArmin Kuster <akuster808@gmail.com>2018-04-08 17:00:06 -0700
commit0d052a48c9fd6d2207f150729a20804e416c91b1 (patch)
tree4e745b1c89b739a9f627a5042fec6a54e339dbed /meta-oe/recipes-devtools/php/php.inc
parent1816eb77793140a1e5940e3dbc005df48ada6384 (diff)
downloadmeta-openembedded-0d052a48c9fd6d2207f150729a20804e416c91b1.tar.gz
php: add opcache extension to PACKAGECONFIG
OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request [1]. Add an option to enable opcache in php. AC_CHECK_FUNC isn't suitable for a cross-compile environment, so pass the configure options instead to force dlopen detection that is necessary to have extension support enabled. On a standard phpbench test, I see a performance improvement of > 40%. [1] http://php.net/manual/en/book.opcache.php Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/php/php.inc')
-rw-r--r--meta-oe/recipes-devtools/php/php.inc14
1 files changed, 9 insertions, 5 deletions
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
index fbc750df8f..8ba218c72c 100644
--- a/meta-oe/recipes-devtools/php/php.inc
+++ b/meta-oe/recipes-devtools/php/php.inc
@@ -21,7 +21,7 @@ SRC_URI_append_class-target = " \
21 file://php_exec_native.patch \ 21 file://php_exec_native.patch \
22 file://php-fpm.conf \ 22 file://php-fpm.conf \
23 file://php-fpm-apache.conf \ 23 file://php-fpm-apache.conf \
24 file://configure.patch \ 24 file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
25 file://70_mod_php${PHP_MAJOR_VERSION}.conf \ 25 file://70_mod_php${PHP_MAJOR_VERSION}.conf \
26 file://php-fpm.service \ 26 file://php-fpm.service \
27 " 27 "
@@ -40,7 +40,6 @@ PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
40COMMON_EXTRA_OECONF = "--enable-sockets \ 40COMMON_EXTRA_OECONF = "--enable-sockets \
41 --enable-pcntl \ 41 --enable-pcntl \
42 --enable-shared \ 42 --enable-shared \
43 --disable-opcache \
44 --disable-rpath \ 43 --disable-rpath \
45 --with-pic \ 44 --with-pic \
46 --libdir=${PHP_LIBDIR} \ 45 --libdir=${PHP_LIBDIR} \
@@ -59,6 +58,9 @@ EXTRA_OECONF = "--enable-mbstring \
59 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ 58 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
60 ${COMMON_EXTRA_OECONF} \ 59 ${COMMON_EXTRA_OECONF} \
61" 60"
61
62CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=yes ac_cv_lib_dl_dlopen=yes"
63
62EXTRA_OECONF_class-native = " \ 64EXTRA_OECONF_class-native = " \
63 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ 65 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
64 --without-iconv \ 66 --without-iconv \
@@ -89,7 +91,7 @@ PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
89 ,--without-imap --without-imap-ssl \ 91 ,--without-imap --without-imap-ssl \
90 ,uw-imap" 92 ,uw-imap"
91PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 93PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
92 94PACKAGECONFIG[opcache] = ",--disable-opcache"
93 95
94export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" 96export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
95export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" 97export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
@@ -196,14 +198,14 @@ php_sysroot_preprocess () {
196 198
197MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" 199MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
198 200
199PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" 201PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
200 202
201RDEPENDS_${PN} += "libgcc" 203RDEPENDS_${PN} += "libgcc"
202RDEPENDS_${PN}-pear = "${PN}" 204RDEPENDS_${PN}-pear = "${PN}"
203RDEPENDS_${PN}-phar = "${PN}-cli" 205RDEPENDS_${PN}-phar = "${PN}-cli"
204RDEPENDS_${PN}-cli = "${PN}" 206RDEPENDS_${PN}-cli = "${PN}"
205RDEPENDS_${PN}-modphp = "${PN} apache2" 207RDEPENDS_${PN}-modphp = "${PN} apache2"
206RDEPENDS_${PN}-dev = "${PN}" 208RDEPENDS_${PN}-opcache = "${PN}"
207 209
208INITSCRIPT_PACKAGES = "${PN}-fpm" 210INITSCRIPT_PACKAGES = "${PN}-fpm"
209inherit update-rc.d 211inherit update-rc.d
@@ -232,6 +234,8 @@ FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
232 ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ 234 ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
233 ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ 235 ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
234 ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" 236 ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
237FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
238FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
235FILES_${PN} = "${PHP_LIBDIR}/php" 239FILES_${PN} = "${PHP_LIBDIR}/php"
236FILES_${PN} += "${bindir}" 240FILES_${PN} += "${bindir}"
237 241